﻿<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Horde3D API</title><link rel="stylesheet" type="text/css" href="css/api.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.52 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Horde3D_API"></a>Horde3D API</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Horde3D_API" >Horde3D API</a></td><td class=SDescription></td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Conventions" >Conventions</a></td><td class=SDescription>Some conventions for the API.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Typedefs_and_constants" >Typedefs and constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Typedefs" >Typedefs</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Predefined_constants" >Predefined constants</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DRenderDevice" >H3DRenderDevice</a></td><td class=SDescription>The available engine Renderer backends.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DOptions" >H3DOptions</a></td><td class=SDescription>The available engine option parameters.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DStats" >H3DStats</a></td><td class=SDescription>The available engine statistic parameters.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DDeviceCapabilities" >H3DDeviceCapabilities</a></td><td class=SDescription>The available GPU capabilities.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DResTypes" >H3DResTypes</a></td><td class=SDescription>The available resource types.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DResFlags" >H3DResFlags</a></td><td class=SDescription>The available flags used when adding a resource.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DFormats" >H3DFormats</a></td><td class=SDescription>The available resource stream formats.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DGeoRes" >H3DGeoRes</a></td><td class=SDescription>The available Geometry resource accessors.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DAnimRes" >H3DAnimRes</a></td><td class=SDescription>The available Animation resource accessors.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DMatRes" >H3DMatRes</a></td><td class=SDescription>The available Material resource accessors.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DShaderRes" >H3DShaderRes</a></td><td class=SDescription>The available Shader resource accessors.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DTexRes" >H3DTexRes</a></td><td class=SDescription>The available Texture resource accessors.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DPartEffRes" >H3DPartEffRes</a></td><td class=SDescription>The available ParticleEffect resource accessors.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DPipeRes" >H3DPipeRes</a></td><td class=SDescription>The available Pipeline resource accessors.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DComputeBufRes" >H3DComputeBufRes</a></td><td class=SDescription>The available ComputeBuffer resource accessors.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DNodeTypes" >H3DNodeTypes</a></td><td class=SDescription>The available scene node types.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DNodeFlags" >H3DNodeFlags</a></td><td class=SDescription>The available scene node flags.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DNodeParams" >H3DNodeParams</a></td><td class=SDescription>The available scene node parameters.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DModel" >H3DModel</a></td><td class=SDescription>The available Model node parameters</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DMesh" >H3DMesh</a></td><td class=SDescription>The available Mesh node parameters.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DJoint" >H3DJoint</a></td><td class=SDescription>The available Joint node parameters.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DLight" >H3DLight</a></td><td class=SDescription>The available Light node parameters.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DCamera" >H3DCamera</a></td><td class=SDescription>The available Camera node parameters.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DEmitter" >H3DEmitter</a></td><td class=SDescription>The available Emitter node parameters.</td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#H3DComputeNode" >H3DComputeNode</a></td><td class=SDescription>The available compute node parameters.</td></tr><tr class="SEnumeration SIndent2"><td class=SEntry><a href="#H3DModelUpdateFlags" >H3DModelUpdateFlags</a></td><td class=SDescription>The available flags for h3dUpdateModel.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Basic_functions" >Basic functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetVersionString" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">h3dGetVersionString</a></td><td class=SDescription>Returns the engine version string.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dCheckExtension" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">h3dCheckExtension</a></td><td class=SDescription>Checks if an extension is part of the engine library.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetError" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">h3dGetError</a></td><td class=SDescription>Checks if an error occured.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dInit" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">h3dInit</a></td><td class=SDescription>Initializes the engine.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dRelease" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">h3dRelease</a></td><td class=SDescription>Releases the engine.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dCompute" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">h3dCompute</a></td><td class=SDescription>Asynchronous processing of arbitrary data on GPU.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dRender" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">h3dRender</a></td><td class=SDescription>Main rendering function.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dFinalizeFrame" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">h3dFinalizeFrame</a></td><td class=SDescription>Marker for end of frame.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dClear" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">h3dClear</a></td><td class=SDescription>Removes all resources and scene nodes.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetMessage" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">h3dGetMessage</a></td><td class=SDescription>Gets the next message from the message queue.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetOption" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">h3dGetOption</a></td><td class=SDescription>Gets an option parameter of the engine.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetOption" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">h3dSetOption</a></td><td class=SDescription>Sets an option parameter for the engine.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetStat" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">h3dGetStat</a></td><td class=SDescription>Gets a statistic value of the engine.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetDeviceCapabilities" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">h3dGetDeviceCapabilities</a></td><td class=SDescription>Checks whether GPU supports a certain feature.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dShowOverlays" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">h3dShowOverlays</a></td><td class=SDescription>Displays overlays on the screen.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dClearOverlays" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">h3dClearOverlays</a></td><td class=SDescription>Removes all overlays.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#General_resource_management_functions" >General resource management functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetResType" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">h3dGetResType</a></td><td class=SDescription>Returns the type of a resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetResName" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">h3dGetResName</a></td><td class=SDescription>Returns the name of a resource.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetNextResource" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">h3dGetNextResource</a></td><td class=SDescription>Returns the next resource of the specified type.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dFindResource" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">h3dFindResource</a></td><td class=SDescription>Finds a resource and returns its handle.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddResource" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">h3dAddResource</a></td><td class=SDescription>Adds a resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dCloneResource" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">h3dCloneResource</a></td><td class=SDescription>Duplicates a resource.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dRemoveResource" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">h3dRemoveResource</a></td><td class=SDescription>Removes a resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dIsResLoaded" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">h3dIsResLoaded</a></td><td class=SDescription>Checks if a resource is loaded.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dLoadResource" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">h3dLoadResource</a></td><td class=SDescription>Loads a resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dUnloadResource" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">h3dUnloadResource</a></td><td class=SDescription>Unloads a resource.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetResElemCount" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">h3dGetResElemCount</a></td><td class=SDescription>Gets the number of elements in a resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dFindResElem" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">h3dFindResElem</a></td><td class=SDescription>Finds a resource element with the specified property value.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetResParamI" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">h3dGetResParamI</a></td><td class=SDescription>Gets an integer property of a resource element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetResParamI" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">h3dSetResParamI</a></td><td class=SDescription>Sets an integer property of a resource element.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetResParamF" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">h3dGetResParamF</a></td><td class=SDescription>Gets a float property of a resource element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetResParamF" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">h3dSetResParamF</a></td><td class=SDescription>Sets a float property of a resource element.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetResParamStr" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">h3dGetResParamStr</a></td><td class=SDescription>Gets a string property of a resource element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetResParamStr" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">h3dSetResParamStr</a></td><td class=SDescription>Sets a string property of a resource element.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dMapResStream" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">h3dMapResStream</a></td><td class=SDescription>Maps the stream of a resource element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dUnmapResStream" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">h3dUnmapResStream</a></td><td class=SDescription>Unmaps a previously mapped resource stream.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dQueryUnloadedResource" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')">h3dQueryUnloadedResource</a></td><td class=SDescription>Returns handle to an unloaded resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dReleaseUnusedResources" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')">h3dReleaseUnusedResources</a></td><td class=SDescription>Frees resources that are no longer used.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Specific_resource_management_functions" >Specific resource management functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dCreateTexture" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')">h3dCreateTexture</a></td><td class=SDescription>Creates a Texture resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetShaderPreambles" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')">h3dSetShaderPreambles</a></td><td class=SDescription>Sets preambles of all Shader resources.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetMaterialUniform" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')">h3dSetMaterialUniform</a></td><td class=SDescription>Sets a shader uniform of a Material resource.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dResizePipelineBuffers" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')">h3dResizePipelineBuffers</a></td><td class=SDescription>Changes the size of the render targets of a pipeline.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetRenderTargetData" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')">h3dGetRenderTargetData</a></td><td class=SDescription>Reads back the pixel data of a render target buffer.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#General_scene_graph_functions" >General scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetNodeType" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')">h3dGetNodeType</a></td><td class=SDescription>Returns the type of a scene node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeParent" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')">h3dGetNodeParent</a></td><td class=SDescription>Returns the parent of a scene node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeParent" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')">h3dSetNodeParent</a></td><td class=SDescription>Relocates a node in the scene graph.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeChild" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')">h3dGetNodeChild</a></td><td class=SDescription>Returns the handle to a child node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddNodes" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')">h3dAddNodes</a></td><td class=SDescription>Adds nodes from a SceneGraph resource to the scene.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dRemoveNode" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')">h3dRemoveNode</a></td><td class=SDescription>Removes a node from the scene.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dCheckNodeTransFlag" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')">h3dCheckNodeTransFlag</a></td><td class=SDescription>Checks if a scene node has been transformed by the engine.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeTransform" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')">h3dGetNodeTransform</a></td><td class=SDescription>Gets the relative transformation of a node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeTransform" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')">h3dSetNodeTransform</a></td><td class=SDescription>Sets the relative transformation of a node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeTransMats" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')">h3dGetNodeTransMats</a></td><td class=SDescription>Returns the transformation matrices of a node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeTransMat" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')">h3dSetNodeTransMat</a></td><td class=SDescription>Sets the relative transformation matrix of a node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeParamI" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')">h3dGetNodeParamI</a></td><td class=SDescription>Gets a property of a scene node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeParamI" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')">h3dSetNodeParamI</a></td><td class=SDescription>Sets a property of a scene node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeParamF" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')">h3dGetNodeParamF</a></td><td class=SDescription>Gets a property of a scene node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeParamF" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')">h3dSetNodeParamF</a></td><td class=SDescription>Sets a property of a scene node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeParamStr" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')">h3dGetNodeParamStr</a></td><td class=SDescription>Gets a property of a scene node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeParamStr" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')">h3dSetNodeParamStr</a></td><td class=SDescription>Sets a property of a scene node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeFlags" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')">h3dGetNodeFlags</a></td><td class=SDescription>Gets the scene node flags.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeFlags" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')">h3dSetNodeFlags</a></td><td class=SDescription>Sets the scene node flags.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeAABB" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')">h3dGetNodeAABB</a></td><td class=SDescription>Gets the bounding box of a scene node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dFindNodes" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')">h3dFindNodes</a></td><td class=SDescription>Finds scene nodes with the specified properties.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dGetNodeFindResult" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')">h3dGetNodeFindResult</a></td><td class=SDescription>Gets a result from the findNodes query.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetNodeUniforms" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')">h3dSetNodeUniforms</a></td><td class=SDescription>Sets per-instance uniform data for a node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dCastRay" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')">h3dCastRay</a></td><td class=SDescription>Performs a recursive ray collision query.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetCastRayResult" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')">h3dGetCastRayResult</a></td><td class=SDescription>Returns a result of a previous castRay query.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dCheckNodeVisibility" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')">h3dCheckNodeVisibility</a></td><td class=SDescription>Checks if a node is visible.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Group-specific_scene_graph_functions" >Group-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddGroupNode" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')">h3dAddGroupNode</a></td><td class=SDescription>Adds a Group node to the scene.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Model-specific_scene_graph_functions" >Model-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddModelNode" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')">h3dAddModelNode</a></td><td class=SDescription>Adds a Model node to the scene.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetupModelAnimStage" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')">h3dSetupModelAnimStage</a></td><td class=SDescription>Configures an animation stage of a Model node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetModelAnimParams" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')">h3dGetModelAnimParams</a></td><td class=SDescription>Gets the animation stage parameters of a Model node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetModelAnimParams" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')">h3dSetModelAnimParams</a></td><td class=SDescription>Sets the animation stage parameters of a Model node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dSetModelMorpher" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')">h3dSetModelMorpher</a></td><td class=SDescription>Sets the weight of a morph target.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dUpdateModel" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')">h3dUpdateModel</a></td><td class=SDescription>Applies animation and/or geometry updates.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Mesh-specific_scene_graph_functions" >Mesh-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddMeshNode" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')">h3dAddMeshNode</a></td><td class=SDescription>Adds a Mesh node to the scene.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Joint-specific_scene_graph_functions" >Joint-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddJointNode" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')">h3dAddJointNode</a></td><td class=SDescription>Adds a Joint node to the scene.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Light-specific_scene_graph_functions" >Light-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddLightNode" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')">h3dAddLightNode</a></td><td class=SDescription>Adds a Light node to the scene.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Camera-specific_scene_graph_functions" >Camera-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddCameraNode" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')">h3dAddCameraNode</a></td><td class=SDescription>Adds a Camera node to the scene.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetupCameraView" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')">h3dSetupCameraView</a></td><td class=SDescription>Sets the planes of a camera viewing frustum.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dGetCameraProjMat" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')">h3dGetCameraProjMat</a></td><td class=SDescription>Gets the camera projection matrix.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dSetCameraProjMat" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')">h3dSetCameraProjMat</a></td><td class=SDescription>Sets the camera projection matrix.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Emitter-specific_scene_graph_functions" >Emitter-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddEmitterNode" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')">h3dAddEmitterNode</a></td><td class=SDescription>Adds a Emitter node to the scene.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#h3dUpdateEmitter" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')">h3dUpdateEmitter</a></td><td class=SDescription>Advances emitter time and performs particle simulation.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dHasEmitterFinished" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')">h3dHasEmitterFinished</a></td><td class=SDescription>Checks if an Emitter node is still alive.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Compute-specific_scene_graph_functions" >Compute-specific scene graph functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#h3dAddComputeNode" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')">h3dAddComputeNode</a></td><td class=SDescription>Adds a Compute node to the scene.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Conventions"></a>Conventions</h3><div class=CBody><p>Some conventions for the API.</p><p>Horde3D uses a right-handed coordinate system, where y is the up-axis and the positive z-axis is pointing out of the screen.&nbsp; The rotations are specified in degrees and rotation direction is counter-clockwise when looking down the axis from the the positive end towards the origin.&nbsp; View vectors like the camera or light direction are always pointing along the negative z-axis when no transformation is applied.&nbsp; Matrices in Horde are stored in a column-major memory layout.&nbsp; When Euler angles are used, the rotation order is YXZ [*vec], so the z-rotation is applied first.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Typedefs_and_constants"></a>Typedefs and constants</h3></div></div>

<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Typedefs"></a>Typedefs</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="H3DRes"></a>H3DRes</td><td class=CDLDescription>handle to resource (type: int32)</td></tr><tr><td class=CDLEntry><a name="H3DNode"></a>H3DNode</td><td class=CDLDescription>handle to scene node (type: int32)</td></tr></table></div></div></div>

<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Predefined_constants"></a>Predefined constants</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="H3DRootNode"></a>H3DRootNode</td><td class=CDLDescription>Scene root node handle</td></tr></table></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Enumerations"></a>Enumerations</h3></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DRenderDevice"></a>H3DRenderDevice</h3><div class=CBody><p>The available engine Renderer backends.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="OpenGL2"></a>OpenGL2</td><td class=CDLDescription>use OpenGL 2 as renderer backend (can be used to force OpenGL 2 when higher version is undesirable)</td></tr><tr><td class=CDLEntry><a name="OpenGL4"></a>OpenGL4</td><td class=CDLDescription>use OpenGL 4 as renderer backend (falls back to OpenGL 2 in case of error)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DOptions"></a>H3DOptions</h3><div class=CBody><p>The available engine option parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MaxLogLevel"></a>MaxLogLevel</td><td class=CDLDescription>Defines the maximum log level; only messages which are smaller or equal to this value (hence more important) are published in the message queue.&nbsp; (Default: 4)</td></tr><tr><td class=CDLEntry><a name="MaxNumMessages"></a>MaxNumMessages</td><td class=CDLDescription>Defines the maximum number of messages that can be stored in the message queue (Default: 512)</td></tr><tr><td class=CDLEntry><a name="TrilinearFiltering"></a>TrilinearFiltering</td><td class=CDLDescription>Enables or disables trilinear filtering for textures.&nbsp; (Values: 0, 1; Default: 1)</td></tr><tr><td class=CDLEntry><a name="MaxAnisotropy"></a>MaxAnisotropy</td><td class=CDLDescription>Sets the maximum quality for anisotropic filtering.&nbsp; (Values: 1, 2, 4, 8, 16; Default: 1)</td></tr><tr><td class=CDLEntry><a name="TexCompression"></a>TexCompression</td><td class=CDLDescription>Enables or disables texture compression; only affects textures that are loaded after setting the option.&nbsp; (Values: 0, 1; Default: 0)</td></tr><tr><td class=CDLEntry><a name="SRGBLinearization"></a>SRGBLinearization</td><td class=CDLDescription>Eanbles or disables gamma-to-linear-space conversion of input textures that are tagged as sRGB (Values: 0, 1; Default: 0)</td></tr><tr><td class=CDLEntry><a name="LoadTextures"></a>LoadTextures</td><td class=CDLDescription>Enables or disables loading of textures referenced by materials; this can be useful to reduce loading times for testing.&nbsp; (Values: 0, 1; Default: 1)</td></tr><tr><td class=CDLEntry><a name="FastAnimation"></a>FastAnimation</td><td class=CDLDescription>Disables or enables inter-frame interpolation for animations.&nbsp; (Values: 0, 1; Default: 1)</td></tr><tr><td class=CDLEntry><a name="ShadowMapSize"></a>ShadowMapSize</td><td class=CDLDescription>Sets the size of the shadow map buffer (Values: 128, 256, 512, 1024, 2048; Default: 1024)</td></tr><tr><td class=CDLEntry><a name="SampleCount"></a>SampleCount</td><td class=CDLDescription>Maximum number of samples used for multisampled render targets; only affects pipelines that are loaded after setting the option.&nbsp; (Values: 0, 2, 4, 8, 16; Default: 0)</td></tr><tr><td class=CDLEntry><a name="WireframeMode"></a>WireframeMode</td><td class=CDLDescription>Enables or disables wireframe rendering</td></tr><tr><td class=CDLEntry><a name="DebugViewMode"></a>DebugViewMode</td><td class=CDLDescription>Enables or disables debug view where geometry is rendered in wireframe without shaders and lights are visualized using their screen space bounding box.&nbsp; (Values: 0, 1; Default: 0)</td></tr><tr><td class=CDLEntry><a name="DumpFailedShaders"></a>DumpFailedShaders</td><td class=CDLDescription>Enables or disables storing of shader code that failed to compile in a text file; this can be useful in combination with the line numbers given back by the shader compiler.&nbsp; (Values: 0, 1; Default: 0)</td></tr><tr><td class=CDLEntry><a name="GatherTimeStats"></a>GatherTimeStats</td><td class=CDLDescription>Enables or disables gathering of time stats that are useful for profiling (Values: 0, 1; Default: 1)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DStats"></a>H3DStats</h3><div class=CBody><p>The available engine statistic parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="TriCount"></a>TriCount</td><td class=CDLDescription>Number of triangles that were pushed to the renderer</td></tr><tr><td class=CDLEntry><a name="BatchCount"></a>BatchCount</td><td class=CDLDescription>Number of batches (draw calls)</td></tr><tr><td class=CDLEntry><a name="LightPassCount"></a>LightPassCount</td><td class=CDLDescription>Number of lighting passes</td></tr><tr><td class=CDLEntry><a name="FrameTime"></a>FrameTime</td><td class=CDLDescription>Time in ms between two h3dFinalizeFrame calls</td></tr><tr><td class=CDLEntry><a name="AnimationTime"></a>AnimationTime</td><td class=CDLDescription>CPU time in ms spent for animation</td></tr><tr><td class=CDLEntry><a name="GeoUpdateTime"></a>GeoUpdateTime</td><td class=CDLDescription>CPU time in ms spent for software skinning and morphing</td></tr><tr><td class=CDLEntry><a name="ParticleSimTime"></a>ParticleSimTime</td><td class=CDLDescription>CPU time in ms spent for particle simulation and updates</td></tr><tr><td class=CDLEntry><a name="FwdLightsGPUTime"></a>FwdLightsGPUTime</td><td class=CDLDescription>GPU time in ms spent for forward lighting passes</td></tr><tr><td class=CDLEntry><a name="DefLightsGPUTime"></a>DefLightsGPUTime</td><td class=CDLDescription>GPU time in ms spent for drawing deferred light volumes</td></tr><tr><td class=CDLEntry><a name="ShadowsGPUTime"></a>ShadowsGPUTime</td><td class=CDLDescription>GPU time in ms spent for generating shadow maps</td></tr><tr><td class=CDLEntry><a name="ParticleGPUTime"></a>ParticleGPUTime</td><td class=CDLDescription>GPU time in ms spent for drawing particles</td></tr><tr><td class=CDLEntry><a name="TextureVMem"></a>TextureVMem</td><td class=CDLDescription>Estimated amount of video memory used by textures (in Mb)</td></tr><tr><td class=CDLEntry><a name="GeometryVMem"></a>GeometryVMem</td><td class=CDLDescription>Estimated amount of video memory used by geometry (in Mb),</td></tr><tr><td class=CDLEntry><a name="ComputeGPUTime"></a>ComputeGPUTime</td><td class=CDLDescription>GPU time in ms spent for processing compute shaders</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DDeviceCapabilities"></a>H3DDeviceCapabilities</h3><div class=CBody><p>The available GPU capabilities.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GeometryShaders"></a>GeometryShaders</td><td class=CDLDescription>GPU supports runtime geometry generation via geometry shaders</td></tr><tr><td class=CDLEntry><a name="TessellationShaders"></a>TessellationShaders</td><td class=CDLDescription>GPU supports tessellation</td></tr><tr><td class=CDLEntry><a name="ComputeShaders"></a>ComputeShaders</td><td class=CDLDescription>GPU supports general-purpose computing via compute shaders</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DResTypes"></a>H3DResTypes</h3><div class=CBody><p>The available resource types.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="Undefined"></a>Undefined</td><td class=CDLDescription>An undefined resource, returned by getResourceType in case of error</td></tr><tr><td class=CDLEntry><a name="SceneGraph"></a>SceneGraph</td><td class=CDLDescription>Scene graph subtree stored in XML format</td></tr><tr><td class=CDLEntry><a name="Geometry"></a>Geometry</td><td class=CDLDescription>Geometrical data containing bones, vertices and triangles</td></tr><tr><td class=CDLEntry><a name="Animation"></a>Animation</td><td class=CDLDescription>Animation data</td></tr><tr><td class=CDLEntry><a name="Material"></a>Material</td><td class=CDLDescription>Material script</td></tr><tr><td class=CDLEntry><a name="Code"></a>Code</td><td class=CDLDescription>Text block containing shader source code</td></tr><tr><td class=CDLEntry><a name="Shader"></a>Shader</td><td class=CDLDescription>Shader program</td></tr><tr><td class=CDLEntry><a name="Texture"></a>Texture</td><td class=CDLDescription>Texture map</td></tr><tr><td class=CDLEntry><a name="ParticleEffect"></a>ParticleEffect</td><td class=CDLDescription>Particle configuration</td></tr><tr><td class=CDLEntry><a name="Pipeline"></a>Pipeline</td><td class=CDLDescription>Rendering pipeline</td></tr><tr><td class=CDLEntry><a name="ComputeBuffer"></a>ComputeBuffer</td><td class=CDLDescription>Buffer with arbitrary data that can be accessed and modified by compute shaders</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DResFlags"></a>H3DResFlags</h3><div class=CBody><p>The available flags used when adding a resource.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="NoQuery"></a>NoQuery</td><td class=CDLDescription>Excludes resource from being listed by queryUnloadedResource function.</td></tr><tr><td class=CDLEntry><a name="NoTexCompression"></a>NoTexCompression</td><td class=CDLDescription>Disables texture compression for Texture resource.</td></tr><tr><td class=CDLEntry><a name="NoTexMipmaps"></a>NoTexMipmaps</td><td class=CDLDescription>Disables generation of mipmaps for Texture resource.</td></tr><tr><td class=CDLEntry><a name="TexCubemap"></a>TexCubemap</td><td class=CDLDescription>Sets Texture resource to be a cubemap.</td></tr><tr><td class=CDLEntry><a name="TexDynamic"></a>TexDynamic</td><td class=CDLDescription>Enables more efficient updates of Texture resource streams.</td></tr><tr><td class=CDLEntry><a name="TexRenderable"></a>TexRenderable</td><td class=CDLDescription>Makes Texture resource usable as render target.</td></tr><tr><td class=CDLEntry><a name="TexSRGB"></a>TexSRGB</td><td class=CDLDescription>Indicates that Texture resource is in sRGB color space and should be converted to linear space when being sampled.</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DFormats"></a>H3DFormats</h3><div class=CBody><p>The available resource stream formats.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="Unknown"></a>Unknown</td><td class=CDLDescription>Unknown format</td></tr><tr><td class=CDLEntry><a name="TEX_BGRA8"></a>TEX_BGRA8</td><td class=CDLDescription>8-bit BGRA texture</td></tr><tr><td class=CDLEntry><a name="TEX_DXT1"></a>TEX_DXT1</td><td class=CDLDescription>DXT1 compressed texture</td></tr><tr><td class=CDLEntry><a name="TEX_DXT3"></a>TEX_DXT3</td><td class=CDLDescription>DXT3 compressed texture</td></tr><tr><td class=CDLEntry><a name="TEX_DXT5"></a>TEX_DXT5</td><td class=CDLDescription>DXT5 compressed texture</td></tr><tr><td class=CDLEntry><a name="TEX_RGBA16F"></a>TEX_RGBA16F</td><td class=CDLDescription>Half float RGBA texture</td></tr><tr><td class=CDLEntry><a name="TEX_RGBA32F"></a>TEX_RGBA32F</td><td class=CDLDescription>Float RGBA texture</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DGeoRes"></a>H3DGeoRes</h3><div class=CBody><p>The available Geometry resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GeometryElem"></a>GeometryElem</td><td class=CDLDescription>Base element</td></tr><tr><td class=CDLEntry><a name="GeoIndexCountI"></a>GeoIndexCountI</td><td class=CDLDescription>Number of indices [read-only]</td></tr><tr><td class=CDLEntry><a name="GeoVertexCountI"></a>GeoVertexCountI</td><td class=CDLDescription>Number of vertices [read-only]</td></tr><tr><td class=CDLEntry><a name="GeoIndices16I"></a>GeoIndices16I</td><td class=CDLDescription>Flag indicating whether index data is 16 or 32 bit [read-only]</td></tr><tr><td class=CDLEntry><a name="GeoIndexStream"></a>GeoIndexStream</td><td class=CDLDescription>Triangle index data (uint16 or uint32, depending on flag)</td></tr><tr><td class=CDLEntry><a name="GeoVertPosStream"></a>GeoVertPosStream</td><td class=CDLDescription>Vertex position data (float x, y, z)</td></tr><tr><td class=CDLEntry><a name="GeoVertTanStream"></a>GeoVertTanStream</td><td class=CDLDescription>Vertex tangent frame data (float nx, ny, nz, tx, ty, tz, tw)</td></tr><tr><td class=CDLEntry><a name="GeoVertStaticStream"></a>GeoVertStaticStream</td><td class=CDLDescription>Vertex static attribute data (float u0, v0, float4 jointIndices, float4 jointWeights, float u1, v1)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DAnimRes"></a>H3DAnimRes</h3><div class=CBody><p>The available Animation resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="EntityElem"></a>EntityElem</td><td class=CDLDescription>Stored animation entities (joints and meshes)</td></tr><tr><td class=CDLEntry><a name="EntFrameCountI"></a>EntFrameCountI</td><td class=CDLDescription>Number of frames stored for a specific entity [read-only]</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DMatRes"></a>H3DMatRes</h3><div class=CBody><p>The available Material resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MaterialElem"></a>MaterialElem</td><td class=CDLDescription>Base element</td></tr><tr><td class=CDLEntry><a name="SamplerElem"></a>SamplerElem</td><td class=CDLDescription>Sampler element</td></tr><tr><td class=CDLEntry><a name="UniformElem"></a>UniformElem</td><td class=CDLDescription>Uniform element</td></tr><tr><td class=CDLEntry><a name="MatClassStr"></a>MatClassStr</td><td class=CDLDescription>Material class</td></tr><tr><td class=CDLEntry><a name="MatLinkI"></a>MatLinkI</td><td class=CDLDescription>Material resource that is linked to this material</td></tr><tr><td class=CDLEntry><a name="MatShaderI"></a>MatShaderI</td><td class=CDLDescription>Shader resource</td></tr><tr><td class=CDLEntry><a name="SampNameStr"></a>SampNameStr</td><td class=CDLDescription>Name of sampler [read-only]</td></tr><tr><td class=CDLEntry><a name="SampTexResI"></a>SampTexResI</td><td class=CDLDescription>Texture resource bound to sampler</td></tr><tr><td class=CDLEntry><a name="UnifNameStr"></a>UnifNameStr</td><td class=CDLDescription>Name of uniform [read-only]</td></tr><tr><td class=CDLEntry><a name="UnifValueF4"></a>UnifValueF4</td><td class=CDLDescription>Value of uniform (a, b, c, d)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DShaderRes"></a>H3DShaderRes</h3><div class=CBody><p>The available Shader resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="ContextElem"></a>ContextElem</td><td class=CDLDescription>Context element</td></tr><tr><td class=CDLEntry><a name="SamplerElem"></a>SamplerElem</td><td class=CDLDescription>Sampler element</td></tr><tr><td class=CDLEntry><a name="UniformElem"></a>UniformElem</td><td class=CDLDescription>Uniform element</td></tr><tr><td class=CDLEntry><a name="ContNameStr"></a>ContNameStr</td><td class=CDLDescription>Name of context [read-only]</td></tr><tr><td class=CDLEntry><a name="SampNameStr"></a>SampNameStr</td><td class=CDLDescription>Name of sampler [read-only]</td></tr><tr><td class=CDLEntry><a name="SampDefTexResI"></a>SampDefTexResI</td><td class=CDLDescription>Default texture resouce of sampler [read-only]</td></tr><tr><td class=CDLEntry><a name="UnifNameStr"></a>UnifNameStr</td><td class=CDLDescription>Name of uniform [read-only]</td></tr><tr><td class=CDLEntry><a name="UnifSizeI"></a>UnifSizeI</td><td class=CDLDescription>Size (number of components) of uniform [read-only]</td></tr><tr><td class=CDLEntry><a name="UnifDefValueF4"></a>UnifDefValueF4</td><td class=CDLDescription>Default value of uniform (a, b, c, d)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DTexRes"></a>H3DTexRes</h3><div class=CBody><p>The available Texture resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="TextureElem"></a>TextureElem</td><td class=CDLDescription>Base element</td></tr><tr><td class=CDLEntry><a name="ImageElem"></a>ImageElem</td><td class=CDLDescription>Subresources of the texture.&nbsp; A texture consists, depending on the type, of a number of equally sized slices which again can have a fixed number of mipmaps.&nbsp; Each image element represents the base image of a slice or a single mipmap level of the corresponding slice.</td></tr><tr><td class=CDLEntry><a name="TexFormatI"></a>TexFormatI</td><td class=CDLDescription>Texture format [read-only]</td></tr><tr><td class=CDLEntry><a name="TexSliceCountI"></a>TexSliceCountI</td><td class=CDLDescription>Number of slices (1 for 2D texture and 6 for cubemap) [read-only]</td></tr><tr><td class=CDLEntry><a name="ImgWidthI"></a>ImgWidthI</td><td class=CDLDescription>Image width [read-only]</td></tr><tr><td class=CDLEntry><a name="ImgHeightI"></a>ImgHeightI</td><td class=CDLDescription>Image height [read-only]</td></tr><tr><td class=CDLEntry><a name="ImgPixelStream"></a>ImgPixelStream</td><td class=CDLDescription>Pixel data of an image.&nbsp; The data layout matches the layout specified by the texture format with the exception that half-float is converted to float.&nbsp; The first element in the data array corresponds to the lower left corner.</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DPartEffRes"></a>H3DPartEffRes</h3><div class=CBody><p>The available ParticleEffect resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="ParticleElem"></a>ParticleElem</td><td class=CDLDescription>General particle configuration</td></tr><tr><td class=CDLEntry><a name="ChanMoveVelElem"></a>ChanMoveVelElem</td><td class=CDLDescription>Velocity channel</td></tr><tr><td class=CDLEntry><a name="ChanRotVelElem"></a>ChanRotVelElem</td><td class=CDLDescription>Angular velocity channel</td></tr><tr><td class=CDLEntry><a name="ChanSizeElem"></a>ChanSizeElem</td><td class=CDLDescription>Size channel</td></tr><tr><td class=CDLEntry><a name="ChanColRElem"></a>ChanColRElem</td><td class=CDLDescription>Red color component channel</td></tr><tr><td class=CDLEntry><a name="ChanColGElem"></a>ChanColGElem</td><td class=CDLDescription>Green color component channel</td></tr><tr><td class=CDLEntry><a name="ChanColBElem"></a>ChanColBElem</td><td class=CDLDescription>Blue color component channel</td></tr><tr><td class=CDLEntry><a name="ChanColAElem"></a>ChanColAElem</td><td class=CDLDescription>Alpha channel</td></tr><tr><td class=CDLEntry><a name="PartLifeMinF"></a>PartLifeMinF</td><td class=CDLDescription>Minimum value of random life time (in seconds)</td></tr><tr><td class=CDLEntry><a name="PartLifeMaxF"></a>PartLifeMaxF</td><td class=CDLDescription>Maximum value of random life time (in seconds)</td></tr><tr><td class=CDLEntry><a name="ChanStartMinF"></a>ChanStartMinF</td><td class=CDLDescription>Minimum for selecting initial random value of channel</td></tr><tr><td class=CDLEntry><a name="ChanStartMaxF"></a>ChanStartMaxF</td><td class=CDLDescription>Maximum for selecting initial random value of channel</td></tr><tr><td class=CDLEntry><a name="ChanEndRateF"></a>ChanEndRateF</td><td class=CDLDescription>Remaining percentage of initial value when particle is dying</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DPipeRes"></a>H3DPipeRes</h3><div class=CBody><p>The available Pipeline resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="StageElem"></a>StageElem</td><td class=CDLDescription>Pipeline stage</td></tr><tr><td class=CDLEntry><a name="StageNameStr"></a>StageNameStr</td><td class=CDLDescription>Name of stage [read-only]</td></tr><tr><td class=CDLEntry><a name="StageActivationI"></a>StageActivationI</td><td class=CDLDescription>Flag indicating whether stage is active</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DComputeBufRes"></a>H3DComputeBufRes</h3><div class=CBody><p>The available ComputeBuffer resource accessors.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="ComputeBufElem"></a>ComputeBufElem</td><td class=CDLDescription>General compute buffer configuration</td></tr><tr><td class=CDLEntry><a name="DrawParamsElem"></a>DrawParamsElem</td><td class=CDLDescription>Specifies parameters for shader bindings</td></tr><tr><td class=CDLEntry><a name="CompBufDataSizeI"></a>CompBufDataSizeI</td><td class=CDLDescription>Size of the buffer</td></tr><tr><td class=CDLEntry><a name="CompBufDrawableI"></a>CompBufDrawableI</td><td class=CDLDescription>Use this compute buffer as a source of vertices for drawing [0, 1].&nbsp; Default - 0</td></tr><tr><td class=CDLEntry><a name="DrawParamsNameStr"></a>DrawParamsNameStr</td><td class=CDLDescription>Specifies the name of the parameter in the buffer (used for binding of shader variable to buffer data)</td></tr><tr><td class=CDLEntry><a name="DrawParamsSizeI"></a>DrawParamsSizeI</td><td class=CDLDescription>Specifies the size of one parameter in the buffer.&nbsp; Example: for vertex position (3 floats) size should be 3</td></tr><tr><td class=CDLEntry><a name="DrawParamsOffsetI"></a>DrawParamsOffsetI</td><td class=CDLDescription>Specifies the offset of parameter in the buffer (in bytes) Example: for first parameter offset is 0.&nbsp; For second (if 1st parameter uses 3 floats) it is 12</td></tr><tr><td class=CDLEntry><a name="DrawParamsCountI"></a>DrawParamsCountI</td><td class=CDLDescription>Total number of specified vertex binding parameters [read-only]</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DNodeTypes"></a>H3DNodeTypes</h3><div class=CBody><p>The available scene node types.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="Undefined"></a>Undefined</td><td class=CDLDescription>An undefined node type, returned by getNodeType in case of error</td></tr><tr><td class=CDLEntry><a name="Group"></a>Group</td><td class=CDLDescription>Group of different scene nodes</td></tr><tr><td class=CDLEntry><a name="Model"></a>Model</td><td class=CDLDescription>3D model with optional skeleton</td></tr><tr><td class=CDLEntry><a name="Mesh"></a>Mesh</td><td class=CDLDescription>Subgroup of a model with triangles of one material</td></tr><tr><td class=CDLEntry><a name="Joint"></a>Joint</td><td class=CDLDescription>Joint for skeletal animation</td></tr><tr><td class=CDLEntry><a name="Light"></a>Light</td><td class=CDLDescription>Light source</td></tr><tr><td class=CDLEntry><a name="Camera"></a>Camera</td><td class=CDLDescription>Camera giving view on scene</td></tr><tr><td class=CDLEntry><a name="Emitter"></a>Emitter</td><td class=CDLDescription>Particle system emitter</td></tr><tr><td class=CDLEntry><a name="Compute"></a>Compute</td><td class=CDLDescription>Compute node, used for drawing compute results</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DNodeFlags"></a>H3DNodeFlags</h3><div class=CBody><p>The available scene node flags.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="NoDraw"></a>NoDraw</td><td class=CDLDescription>Excludes scene node from all rendering</td></tr><tr><td class=CDLEntry><a name="NoCastShadow"></a>NoCastShadow</td><td class=CDLDescription>Excludes scene node from list of shadow casters</td></tr><tr><td class=CDLEntry><a name="NoRayQuery"></a>NoRayQuery</td><td class=CDLDescription>Excludes scene node from ray intersection queries</td></tr><tr><td class=CDLEntry><a name="Inactive"></a>Inactive</td><td class=CDLDescription>Deactivates scene node so that it is completely ignored (combination of all flags above)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DNodeParams"></a>H3DNodeParams</h3><div class=CBody><p>The available scene node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="NameStr"></a>NameStr</td><td class=CDLDescription>Name of the scene node</td></tr><tr><td class=CDLEntry><a name="AttachmentStr"></a>AttachmentStr</td><td class=CDLDescription>Optional application-specific meta data for a node encapsulated in an &lsquo;Attachment&rsquo; XML string</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DModel"></a>H3DModel</h3><div class=CBody><p>The available Model node parameters</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GeoResI"></a>GeoResI</td><td class=CDLDescription>Geometry resource used for the model</td></tr><tr><td class=CDLEntry><a name="SWSkinningI"></a>SWSkinningI</td><td class=CDLDescription>Enables or disables software skinning (default: 0)</td></tr><tr><td class=CDLEntry><a name="LodDist1F"></a>LodDist1F</td><td class=CDLDescription>Distance to camera from which on LOD1 is used (default: infinite) (must be a positive value larger than 0.0)</td></tr><tr><td class=CDLEntry><a name="LodDist2F"></a>LodDist2F</td><td class=CDLDescription>Distance to camera from which on LOD2 is used (may not be smaller than LodDist1) (default: infinite)</td></tr><tr><td class=CDLEntry><a name="LodDist3F"></a>LodDist3F</td><td class=CDLDescription>Distance to camera from which on LOD3 is used (may not be smaller than LodDist2) (default: infinite)</td></tr><tr><td class=CDLEntry><a name="LodDist4F"></a>LodDist4F</td><td class=CDLDescription>Distance to camera from which on LOD4 is used (may not be smaller than LodDist3) (default: infinite)</td></tr><tr><td class=CDLEntry><a name="AnimCountI"></a>AnimCountI</td><td class=CDLDescription>Number of active animation stages [read-only]</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DMesh"></a>H3DMesh</h3><div class=CBody><p>The available Mesh node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MatResI"></a>MatResI</td><td class=CDLDescription>Material resource used for the mesh</td></tr><tr><td class=CDLEntry><a name="BatchStartI"></a>BatchStartI</td><td class=CDLDescription>First triangle index of mesh in Geometry resource of parent Model node [read-only]</td></tr><tr><td class=CDLEntry><a name="BatchCountI"></a>BatchCountI</td><td class=CDLDescription>Number of triangle indices used for drawing mesh [read-only]</td></tr><tr><td class=CDLEntry><a name="VertRStartI"></a>VertRStartI</td><td class=CDLDescription>First vertex in Geometry resource of parent Model node [read-only]</td></tr><tr><td class=CDLEntry><a name="VertREndI"></a>VertREndI</td><td class=CDLDescription>Last vertex in Geometry resource of parent Model node [read-only]</td></tr><tr><td class=CDLEntry><a name="LodLevelI"></a>LodLevelI</td><td class=CDLDescription>LOD level of Mesh; the mesh is only rendered if its LOD level corresponds to the model&rsquo;s current LOD level which is calculated based on the LOD distances (default: 0)</td></tr><tr><td class=CDLEntry><a name="TessellatableI"></a>TessellatableI</td><td class=CDLDescription>specify if mesh can be tessellated (default: 0)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DJoint"></a>H3DJoint</h3><div class=CBody><p>The available Joint node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="JointIndexI"></a>JointIndexI</td><td class=CDLDescription>Index of joint in Geometry resource of parent Model node [read-only]</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DLight"></a>H3DLight</h3><div class=CBody><p>The available Light node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MatResI"></a>MatResI</td><td class=CDLDescription>Material resource used for the light</td></tr><tr><td class=CDLEntry><a name="RadiusF"></a>RadiusF</td><td class=CDLDescription>Radius of influence (default: 100.0)</td></tr><tr><td class=CDLEntry><a name="FovF"></a>FovF</td><td class=CDLDescription>Field of view (FOV) angle (default: 90.0)</td></tr><tr><td class=CDLEntry><a name="ColorF3"></a>ColorF3</td><td class=CDLDescription>Diffuse color RGB (default: 1.0, 1.0, 1.0)</td></tr><tr><td class=CDLEntry><a name="ColorMultiplierF"></a>ColorMultiplierF</td><td class=CDLDescription>Diffuse color multiplier for altering intensity, mainly useful for HDR (default: 1.0)</td></tr><tr><td class=CDLEntry><a name="ShadowMapCountI"></a>ShadowMapCountI</td><td class=CDLDescription>Number of shadow maps used for light source (values: 0, 1, 2, 3, 4; default: 0)]</td></tr><tr><td class=CDLEntry><a name="ShadowSplitLambdaF"></a>ShadowSplitLambdaF</td><td class=CDLDescription>Constant determining segmentation of view frustum for Parallel Split Shadow Maps (default: 0.5)</td></tr><tr><td class=CDLEntry><a name="ShadowMapBiasF"></a>ShadowMapBiasF</td><td class=CDLDescription>Bias value for shadow mapping to reduce shadow acne (default: 0.005)</td></tr><tr><td class=CDLEntry><a name="LightingContextStr"></a>LightingContextStr</td><td class=CDLDescription>Name of shader context used for computing lighting</td></tr><tr><td class=CDLEntry><a name="ShadowContextStr"></a>ShadowContextStr</td><td class=CDLDescription>Name of shader context used for generating shadow map</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DCamera"></a>H3DCamera</h3><div class=CBody><p>The available Camera node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="PipeResI"></a>PipeResI</td><td class=CDLDescription>Pipeline resource used for rendering</td></tr><tr><td class=CDLEntry><a name="OutTexResI"></a>OutTexResI</td><td class=CDLDescription>2D Texture resource used as output buffer (can be 0 to use main framebuffer) (default: 0)</td></tr><tr><td class=CDLEntry><a name="OutBufIndexI"></a>OutBufIndexI</td><td class=CDLDescription>Index of the output buffer for stereo rendering (values: 0 for left eye, 1 for right eye) (default: 0)</td></tr><tr><td class=CDLEntry><a name="LeftPlaneF"></a>LeftPlaneF</td><td class=CDLDescription>Coordinate of left plane relative to near plane center (default: -0.055228457)</td></tr><tr><td class=CDLEntry><a name="RightPlaneF"></a>RightPlaneF</td><td class=CDLDescription>Coordinate of right plane relative to near plane center (default: 0.055228457)</td></tr><tr><td class=CDLEntry><a name="BottomPlaneF"></a>BottomPlaneF</td><td class=CDLDescription>Coordinate of bottom plane relative to near plane center (default: -0.041421354f)</td></tr><tr><td class=CDLEntry><a name="TopPlaneF"></a>TopPlaneF</td><td class=CDLDescription>Coordinate of top plane relative to near plane center (default: 0.041421354f)</td></tr><tr><td class=CDLEntry><a name="NearPlaneF"></a>NearPlaneF</td><td class=CDLDescription>Distance of near clipping plane (default: 0.1)</td></tr><tr><td class=CDLEntry><a name="FarPlaneF"></a>FarPlaneF</td><td class=CDLDescription>Distance of far clipping plane (default: 1000)</td></tr><tr><td class=CDLEntry><a name="ViewportXI"></a>ViewportXI</td><td class=CDLDescription>Position x-coordinate of the lower left corner of the viewport rectangle (default: 0)</td></tr><tr><td class=CDLEntry><a name="ViewportYI"></a>ViewportYI</td><td class=CDLDescription>Position y-coordinate of the lower left corner of the viewport rectangle (default: 0)</td></tr><tr><td class=CDLEntry><a name="ViewportWidthI"></a>ViewportWidthI</td><td class=CDLDescription>Width of the viewport rectangle (default: 320)</td></tr><tr><td class=CDLEntry><a name="ViewportHeightI"></a>ViewportHeightI</td><td class=CDLDescription>Height of the viewport rectangle (default: 240)</td></tr><tr><td class=CDLEntry><a name="OrthoI"></a>OrthoI</td><td class=CDLDescription>Flag for setting up an orthographic frustum instead of a perspective one (default: 0)</td></tr><tr><td class=CDLEntry><a name="OccCullingI"></a>OccCullingI</td><td class=CDLDescription>Flag for enabling occlusion culling (default: 0)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DEmitter"></a>H3DEmitter</h3><div class=CBody><p>The available Emitter node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MatResI"></a>MatResI</td><td class=CDLDescription>Material resource used for rendering</td></tr><tr><td class=CDLEntry><a name="PartEffResI"></a>PartEffResI</td><td class=CDLDescription>ParticleEffect resource which configures particle properties</td></tr><tr><td class=CDLEntry><a name="MaxCountI"></a>MaxCountI</td><td class=CDLDescription>Maximal number of particles living at the same time</td></tr><tr><td class=CDLEntry><a name="RespawnCountI"></a>RespawnCountI</td><td class=CDLDescription>Number of times a single particle is recreated after dying (-1 for infinite)</td></tr><tr><td class=CDLEntry><a name="DelayF"></a>DelayF</td><td class=CDLDescription>Time in seconds before emitter begins creating particles (default: 0.0)</td></tr><tr><td class=CDLEntry><a name="EmissionRateF"></a>EmissionRateF</td><td class=CDLDescription>Maximal number of particles to be created per second (default: 0.0)</td></tr><tr><td class=CDLEntry><a name="SpreadAngleF"></a>SpreadAngleF</td><td class=CDLDescription>Angle of cone for random emission direction (default: 0.0)</td></tr><tr><td class=CDLEntry><a name="ForceF3"></a>ForceF3</td><td class=CDLDescription>Force vector XYZ applied to particles (default: 0.0, 0.0, 0.0)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DComputeNode"></a>H3DComputeNode</h3><div class=CBody><p>The available compute node parameters.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MatResI"></a>MatResI</td><td class=CDLDescription>Material resource used for rendering</td></tr><tr><td class=CDLEntry><a name="CompBufResI"></a>CompBufResI</td><td class=CDLDescription>Compute buffer resource that is used as data storage</td></tr><tr><td class=CDLEntry><a name="AABBMinF"></a>AABBMinF</td><td class=CDLDescription>Minimum of the node&rsquo;s AABB (should be set separately for x, y, z components)</td></tr><tr><td class=CDLEntry><a name="AABBMaxF"></a>AABBMaxF</td><td class=CDLDescription>Maximum of the node&rsquo;s AABB (should be set separately for x, y, z components)</td></tr><tr><td class=CDLEntry><a name="DrawTypeI"></a>DrawTypeI</td><td class=CDLDescription>Specifies how to draw data in the buffer.&nbsp; 0 - Triangles, 1 - Lines, 2 - Points</td></tr><tr><td class=CDLEntry><a name="ElementsCountI"></a>ElementsCountI</td><td class=CDLDescription>Specifies number of elements to draw (Example: for 1000 points - 1000, for 10 triangles - 10)</td></tr></table></div></div></div>

<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="H3DModelUpdateFlags"></a>H3DModelUpdateFlags</h3><div class=CBody><p>The available flags for h3dUpdateModel.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="Animation"></a>Animation</td><td class=CDLDescription>Apply animation</td></tr><tr><td class=CDLEntry><a name="Geometry"></a>Geometry</td><td class=CDLDescription>Apply morphers and software skinning</td></tr></table></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Basic_functions"></a>Basic functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetVersionString"></a>h3dGetVersionString</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL const char *h3dGetVersionString()</td></tr></table></blockquote><p>Returns the engine version string.</p><h4 class=CHeading>Details</h4><p>This function returns a pointer to a string containing the current version of Horde3D.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>pointer to the version string</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCheckExtension"></a>h3dCheckExtension</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dCheckExtension(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>extensionName</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if an extension is part of the engine library.</p><h4 class=CHeading>Details</h4><p>This function checks if a specified extension is contained in the DLL/shared object of the engine.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>extensionName</td><td class=CDLDescription>name of the extension</td></tr></table><h4 class=CHeading>Returns</h4><p>true if extension is implemented, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetError"></a>h3dGetError</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL bool h3dGetError()</td></tr></table></blockquote><p>Checks if an error occured.</p><h4 class=CHeading>Details</h4><p>This function checks if an error occured in a previous API function call.&nbsp; If an error flag is set, the function resets the flag and returns true.&nbsp; The function will solely report errors that originate from a violated precondition, like an invalid parameter that is passed to an API function.&nbsp; Errors that happen during the execution of a function, for example failure of initializing the engine due to a missing hardware feature, can be catched by checking the return value of the corresponding API function.&nbsp; More information about the error can be retrieved by checking the message queue, provided that the message level is set accordingly.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>true in there was an error, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dInit"></a>h3dInit</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dInit(</td><td class="PTypePrefix  prettyprint " nowrap>H3DRenderDevice::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>deviceType</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Initializes the engine.</p><h4 class=CHeading>Details</h4><p>This function initializes the graphics engine and makes it ready for use.&nbsp; It has to be the first call to the engine except for getVersionString.&nbsp; In order to successfully initialize the engine the calling application must provide a valid OpenGL context.&nbsp; The function can be called several times on different rendering contexts in order to initialize them.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>deviceType</td><td class=CDLDescription>type of the render device</td></tr></table><h4 class=CHeading>Returns</h4><p>true in case of success, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dRelease"></a>h3dRelease</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dRelease()</td></tr></table></blockquote><p>Releases the engine.</p><h4 class=CHeading>Details</h4><p>This function releases the engine and frees all objects and associated memory.&nbsp; It should be called when the application is destroyed.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCompute"></a>h3dCompute</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dCompute(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>context,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>groupX,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>groupY,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>groupZ</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Asynchronous processing of arbitrary data on GPU.</p><h4 class=CHeading>Details</h4><p>This function is used for processing data on GPU via compute shaders.&nbsp; Compute shaders are commonly used in tiled rendering, particles generation, image compression/decompression, some even use them for AI calculation.&nbsp; Calculation results can be stored in a texture or a buffer.&nbsp; Data in buffers can also be used for rendering via Compute Buffer Resource.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>material that specifies the shader used and various input parameters for compute shader</td></tr><tr><td class=CDLEntry>context</td><td class=CDLDescription>specifies the shader program that will be executed (one shader file may contain a large number of compute shader programs)</td></tr><tr><td class=CDLEntry>groupX</td><td class=CDLDescription>number of work groups in X dimension [1,65535]</td></tr><tr><td class=CDLEntry>groupY</td><td class=CDLDescription>number of work groups in Y dimension [1,65535]</td></tr><tr><td class=CDLEntry>groupZ</td><td class=CDLDescription>number of work groups in Z dimension [1,65535]</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dRender"></a>h3dRender</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dRender(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Main rendering function.</p><h4 class=CHeading>Details</h4><p>This is the main function of the engine.&nbsp; It executes all the rendering, animation and other tasks.&nbsp; The function can be called several times per frame, for example in order to write to different output buffers.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cameraNode</td><td class=CDLDescription>camera node used for rendering scene</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dFinalizeFrame"></a>h3dFinalizeFrame</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dFinalizeFrame()</td></tr></table></blockquote><p>Marker for end of frame.</p><h4 class=CHeading>Details</h4><p>This function tells the engine that the current frame is finished and that all subsequent rendering operations will be for the next frame.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dClear"></a>h3dClear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dClear()</td></tr></table></blockquote><p>Removes all resources and scene nodes.</p><h4 class=CHeading>Details</h4><p>This function removes all nodes from the scene graph except the root node and releases all resources.</p><p><b>Warning: All resource and node IDs are invalid after calling this function</b></p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetMessage"></a>h3dGetMessage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetMessage(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>level,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>time</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the next message from the message queue.</p><h4 class=CHeading>Details</h4><p>This function returns the next message string from the message queue and writes additional information to the specified variables.&nbsp; If no message is left over in the queue an empty string is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>level</td><td class=CDLDescription>pointer to variable for storing message level indicating importance (can be NULL)</td></tr><tr><td class=CDLEntry>time</td><td class=CDLDescription>pointer to variable for storing time when message was added (can be NULL)</td></tr></table><h4 class=CHeading>Returns</h4><p>message string or empty string if no message is in queue</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetOption"></a>h3dGetOption</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetOption(</td><td class="PTypePrefix  prettyprint " nowrap>H3DOptions::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets an option parameter of the engine.</p><h4 class=CHeading>Details</h4><p>This function gets a specified option parameter and returns its value.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>param</td><td class=CDLDescription>option parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>current value of the specified option parameter</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetOption"></a>h3dSetOption</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetOption(</td><td class="PTypePrefix  prettyprint " nowrap>H3DOptions::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets an option parameter for the engine.</p><h4 class=CHeading>Details</h4><p>This function sets a specified option parameter to a specified value.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>param</td><td class=CDLDescription>option parameter</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>value of the option parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>true if the option could be set to the specified value, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetStat"></a>h3dGetStat</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetStat(</td><td class="PTypePrefix  prettyprint " nowrap>H3DStats::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>reset</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a statistic value of the engine.</p><h4 class=CHeading>Details</h4><p>This function returns the value of the specified statistic.&nbsp; The reset flag makes it possible to reset the statistic value after reading.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>param</td><td class=CDLDescription>statistic parameter</td></tr><tr><td class=CDLEntry>reset</td><td class=CDLDescription>flag specifying whether statistic value should be reset</td></tr></table><h4 class=CHeading>Returns</h4><p>current value of the specified statistic parameter</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetDeviceCapabilities"></a>h3dGetDeviceCapabilities</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetDeviceCapabilities(</td><td class="PTypePrefix  prettyprint " nowrap>H3DDeviceCapabilities::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks whether GPU supports a certain feature.</p><h4 class=CHeading>Details</h4><p>This function returns a value, indicating the support of a certain GPU capability.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>param</td><td class=CDLDescription>requested GPU feature</td></tr></table><h4 class=CHeading>Returns</h4><p>1, if feature is supported, 0 otherwise</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dShowOverlays"></a>h3dShowOverlays</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dShowOverlays(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>verts,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>vertCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colR,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colG,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colB,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colA,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Displays overlays on the screen.</p><h4 class=CHeading>Details</h4><p>This function displays one or more overlays with a specified material and color.&nbsp; An overlay is a screen-space quad that can be used to render 2D GUI elements.&nbsp; The overlay coordinate system has its origin (0, 0) at the top-left corner of the screen and its maximum (aspect, 1) at the bottom-right corner.&nbsp; As the x coordinate of the maximum corresponds to the aspect ratio of the viewport, the size of overlays can always be the same, even when different screen formats (standard 4:3, widescreen 16:9, etc.) are used.&nbsp; Texture coordinates are using a system where the coordinates (0, 0) correspond to the lower left corner of the image.&nbsp; Overlays are drawn in the order in which they are pushed using this function.&nbsp; Overlays with the same state will be batched together, so it can make sense to group overlays that have the same material, color and flags in order to achieve best performance.&nbsp; Note that the overlays have to be removed manually using the function h3dClearOverlays.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>verts</td><td class=CDLDescription>vertex data (x, y, u, v), interpreted as quads</td></tr><tr><td class=CDLEntry>vertCount</td><td class=CDLDescription>number of vertices (must be multiple of 4)</td></tr><tr><td class=CDLEntry>colR, colG, colB, colA</td><td class=CDLDescription>color (and transparency) of overlays</td></tr><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>material resource used for rendering</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>overlay flags (reserved for future use)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dClearOverlays"></a>h3dClearOverlays</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dClearOverlays()</td></tr></table></blockquote><p>Removes all overlays.</p><h4 class=CHeading>Details</h4><p>This function removes all overlays that were added with h3dShowOverlays.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="General_resource_management_functions"></a>General resource management functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetResType"></a>h3dGetResType</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetResType(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the type of a resource.</p><h4 class=CHeading>Details</h4><p>This function returns the type of a specified resource.&nbsp; If the resource handle is invalid, the function returns the resource type &lsquo;Unknown&rsquo;.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource</td></tr></table><h4 class=CHeading>Returns</h4><p>type of the resource</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetResName"></a>h3dGetResName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetResName(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the name of a resource.</p><h4 class=CHeading>Details</h4><p>This function returns a pointer to the name of a specified resource.&nbsp; If the resource handle is invalid, the function returns an empty string.</p><p><b>Important Note: The pointer is const and allows only read access to the data.&nbsp; Do never try to modify the data of the pointer since that can corrupt the engine&rsquo;s internal states!</b></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource</td></tr></table><h4 class=CHeading>Returns</h4><p>name of the resource or empty string in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNextResource"></a>h3dGetNextResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dGetNextResource(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>start</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the next resource of the specified type.</p><h4 class=CHeading>Details</h4><p>This function searches the next resource of the specified type and returns its handle.&nbsp; The search begins after the specified start handle.&nbsp; If a further resource of the queried type does not exist, a zero handle is returned.&nbsp; The function can be used to iterate over all resources of a given type by using as start the return value of the previous iteration step.&nbsp; The first iteration step should start at 0 and iteration can be ended when the function returns 0.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>type of resource to be searched (H3DResTypes::Undefined for all types)</td></tr><tr><td class=CDLEntry>start</td><td class=CDLDescription>resource handle after which the search begins (can be 0 for beginning of resource list)</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the found resource or 0 if it does not exist</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dFindResource"></a>h3dFindResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dFindResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Finds a resource and returns its handle.</p><h4 class=CHeading>Details</h4><p>This function searches the resource of the specified type and name and returns its handle.&nbsp; If the resource is not available in the resource manager a zero handle is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>type of the resource</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the resource</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the resource or 0 if not found</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddResource"></a>h3dAddResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dAddResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a resource.</p><h4 class=CHeading>Details</h4><p>This function tries to add a resource of a specified type and name to the resource manager.&nbsp; If a resource of the same type and name is already existing, the handle to the existing resource is returned instead of creating a new one and the user reference count of the resource is increased.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>type</td><td class=CDLDescription>type of the resource</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the resource</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>flags used for creating the resource</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the resource to be added or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCloneResource"></a>h3dCloneResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dCloneResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>sourceRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Duplicates a resource.</p><h4 class=CHeading>Details</h4><p>This function duplicates a specified resource.&nbsp; In the cloning process a new resource with the specified name is added to the resource manager and filled with the data of the specified source resource.&nbsp; If the specified name for the new resource is already in use, the function fails and returns 0.&nbsp; If the name string is empty, a unique name for the resource is generated automatically.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sourceRes</td><td class=CDLDescription>handle to resource to be cloned</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of new resource (can be empty for auto-naming)</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the cloned resource or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dRemoveResource"></a>h3dRemoveResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dRemoveResource(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes a resource.</p><h4 class=CHeading>Details</h4><p>This function decreases the user reference count of a specified resource.&nbsp; When the user reference count is zero and there are no internal references, the resource can be released and removed using the API fuction releaseUnusedResources.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be removed</td></tr></table><h4 class=CHeading>Returns</h4><p>the number of references that the application is still holding after removal or -1 in case of an error</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dIsResLoaded"></a>h3dIsResLoaded</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dIsResLoaded(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if a resource is loaded.</p><h4 class=CHeading>Details</h4><p>This function checks if the specified resource has been successfully loaded.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be checked</td></tr></table><h4 class=CHeading>Returns</h4><p>true if resource is loaded, otherwise or in case of failure false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dLoadResource"></a>h3dLoadResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dLoadResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loads a resource.</p><h4 class=CHeading>Details</h4><p>This function loads data for a resource that was previously added to the resource manager.&nbsp; If data is a NULL-pointer the resource manager is told that the resource doesn&rsquo;t have any data (e.g. the corresponding file was not found).&nbsp; In this case, the resource remains in the unloaded state but is no more returned when querying unloaded resources.&nbsp; When the specified resource is already loaded, the function returns false.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource for which data will be loaded</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to the data to be loaded</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of the data block</td></tr></table><h4 class=CHeading>Returns</h4><p>true in case of success, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dUnloadResource"></a>h3dUnloadResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUnloadResource(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Unloads a resource.</p><h4 class=CHeading>Details</h4><p>This function unloads a previously loaded resource and restores the default values it had before loading.&nbsp; The state is set back to unloaded which makes it possible to load the resource again.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to resource to be unloaded</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetResElemCount"></a>h3dGetResElemCount</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetResElemCount(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the number of elements in a resource.</p><h4 class=CHeading>Details</h4><p>This function returns how many elements of the specified element type a specified resource has.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be accessed</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr></table><h4 class=CHeading>Returns</h4><p>number of elements</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dFindResElem"></a>h3dFindResElem</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dFindResElem(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Finds a resource element with the specified property value.</p><h4 class=CHeading>Details</h4><p>This function searches in a specified resource for the first element of the specified type that has the property with the specified name set to the specified search value.&nbsp; If such element is found, its index is returned, otherwise the function returns -1.&nbsp; All string comparisons done for the search are case-sensitive.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be accessed</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter name</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>parameter value to be searched for</td></tr></table><h4 class=CHeading>Returns</h4><p>index of element or -1 if element not found</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetResParamI"></a>h3dGetResParamI</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetResParamI(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets an integer property of a resource element.</p><h4 class=CHeading>Details</h4><p>This function returns a specified property of the specified resource element.&nbsp; The property must be of the type int.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be accessed</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>value of the parameter</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetResParamI"></a>h3dSetResParamI</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetResParamI(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets an integer property of a resource element.</p><h4 class=CHeading>Details</h4><p>This function sets a specified property of the specified resource element to the specified value.&nbsp; The property must be of the type int.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be modified</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be modified</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>new value for the specified parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetResParamF"></a>h3dGetResParamF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetResParamF(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a float property of a resource element.</p><h4 class=CHeading>Details</h4><p>This function returns the specified component of the specified resource element property.&nbsp; The property must be of the type float.&nbsp; Float properties can have several indexed components, for example the x, y and z components of a vector.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be accessed</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be accessed</td></tr><tr><td class=CDLEntry>compIdx</td><td class=CDLDescription>component of the parameter to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>value of the parameter</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetResParamF"></a>h3dSetResParamF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetResParamF(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a float property of a resource element.</p><h4 class=CHeading>Details</h4><p>This function sets the specified component of the specified resource element property to the specified value.&nbsp; The property must be of the type float.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be modified</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be modified</td></tr><tr><td class=CDLEntry>compIdx</td><td class=CDLDescription>component of the parameter to be modified</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>new value for the specified parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetResParamStr"></a>h3dGetResParamStr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetResParamStr(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a string property of a resource element.</p><h4 class=CHeading>Details</h4><p>This function returns a specified property of the specified resource element.&nbsp; The property must be of the type string (const char *).</p><p><b>Important Note: The pointer is const and allows only read access to the data.&nbsp; Do never try to modify the data of the pointer since that can corrupt the engine&rsquo;s internal states!</b></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be accessed</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>value of the property or empty string if no such property exists</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetResParamStr"></a>h3dSetResParamStr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetResParamStr(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a string property of a resource element.</p><h4 class=CHeading>Details</h4><p>This function sets a specified property of the specified resource element to the specified value.&nbsp; The property must be of the type string (const char *).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be modified</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be modified</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>new value for the specified parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dMapResStream"></a>h3dMapResStream</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void *h3dMapResStream(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>stream,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>read,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>write</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Maps the stream of a resource element.</p><h4 class=CHeading>Details</h4><p>This function maps the specified stream of a specified resource element and returns a pointer to the stream data.&nbsp; The required access to the data can be specified with the read write parameters.&nbsp; If read is false, the pointer will usually not contain meaningful data.&nbsp; Not all resource streams can be mapped with both read and write access.&nbsp; If it is not possible to map the stream, the function will return a NULL pointer.&nbsp; A mapped stream should be unmapped again as soon as possible but always before subsequent API calls are made.&nbsp; It is only possible to map one stream per resource at a time.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be mapped</td></tr><tr><td class=CDLEntry>elem</td><td class=CDLDescription>element type</td></tr><tr><td class=CDLEntry>elemIdx</td><td class=CDLDescription>index of element</td></tr><tr><td class=CDLEntry>stream</td><td class=CDLDescription>stream to be mapped</td></tr><tr><td class=CDLEntry>read</td><td class=CDLDescription>flag indicating whether read access is required</td></tr><tr><td class=CDLEntry>write</td><td class=CDLDescription>flag indicating whether write access is required</td></tr></table><h4 class=CHeading>Returns</h4><p>pointer to stream data or NULL if stream cannot be mapped</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dUnmapResStream"></a>h3dUnmapResStream</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUnmapResStream(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Unmaps a previously mapped resource stream.</p><h4 class=CHeading>Details</h4><p>This function unmaps a resource stream that has been mapped before.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>res</td><td class=CDLDescription>handle to the resource to be unmapped</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dQueryUnloadedResource"></a>h3dQueryUnloadedResource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dQueryUnloadedResource(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns handle to an unloaded resource.</p><h4 class=CHeading>Details</h4><p>This function looks for a resource that is not yet loaded and returns its handle.&nbsp; If there are no unloaded resources or the zero based index specified is greater than the number of the currently unloaded resources, 0 is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of unloaded resource within the internal list of unloaded resources (starting with 0)</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to an unloaded resource or 0</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dReleaseUnusedResources"></a>h3dReleaseUnusedResources</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dReleaseUnusedResources()</td></tr></table></blockquote><p>Frees resources that are no longer used.</p><h4 class=CHeading>Details</h4><p>This function releases resources that are no longer used.&nbsp; Unused resources were either told to be released by the user calling removeResource or are no more referenced by any other engine objects.</p><h4 class=CHeading>Parameters</h4><p>none</p><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Specific_resource_management_functions"></a>Specific resource management functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCreateTexture"></a>h3dCreateTexture</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dCreateTexture(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a Texture resource.</p><h4 class=CHeading>Details</h4><p>This function tries to create and add a Texture resource with the specified name to the resource manager.&nbsp; If a Texture resource with the same name is already existing, the function fails.&nbsp; The texture is initialized with the specified dimensions and the resource is declared as loaded.&nbsp; This function is especially useful to create dynamic textures (e.g. for displaying videos) or output buffers for render-to-texture.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the resource</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>width of the texture image</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>height of the texture image</td></tr><tr><td class=CDLEntry>fmt</td><td class=CDLDescription>texture format (see stream formats)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>flags used for creating the resource</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created resource or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetShaderPreambles"></a>h3dSetShaderPreambles</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetShaderPreambles(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>vertPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>fragPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>geomPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tessControlPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tessEvalPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>computePreamble</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets preambles of all Shader resources.</p><h4 class=CHeading>Details</h4><p>This function defines a header that is inserted at the beginning of all shaders.&nbsp; The preamble is used when a shader is compiled, so changing it will not affect any shaders that are already compiled.&nbsp; The preamble is useful for setting platform-specific defines that can be employed for creating several shader code paths, e.g. for supporting different hardware capabilities.&nbsp; Based on render device requirements, engine may internally set shader preambles.&nbsp; OpenGL 4 render device sets shader preambles to specify minimum version, required to compile a shader program of required type.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>vertPreamble</td><td class=CDLDescription>preamble text of vertex shaders (default: empty string)</td></tr><tr><td class=CDLEntry>fragPreamble</td><td class=CDLDescription>preamble text of fragment shaders (default: empty string)</td></tr><tr><td class=CDLEntry>geomPreamble</td><td class=CDLDescription>preamble text of geometry shaders (default: empty string)</td></tr><tr><td class=CDLEntry>tessControlPreamble</td><td class=CDLDescription>preamble text of tessellation control shaders (default: empty string)</td></tr><tr><td class=CDLEntry>tessEvalPreamble</td><td class=CDLDescription>preamble text of tessellation evaluation shaders (default: empty string)</td></tr><tr><td class=CDLEntry>computePreamble</td><td class=CDLDescription>preamble text of compute shaders (default: empty string)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetMaterialUniform"></a>h3dSetMaterialUniform</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetMaterialUniform(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>a,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>d</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a shader uniform of a Material resource.</p><h4 class=CHeading>Details</h4><p>This function sets the specified shader uniform of the specified material to the specified values.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>handle to the Material resource to be accessed</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the uniform as defined in Material resource</td></tr><tr><td class=CDLEntry>a, b, c, d</td><td class=CDLDescription>values of the four components</td></tr></table><h4 class=CHeading>Returns</h4><p>true if uniform was found, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dResizePipelineBuffers"></a>h3dResizePipelineBuffers</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dResizePipelineBuffers(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>pipeRes,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the size of the render targets of a pipeline.</p><h4 class=CHeading>Details</h4><p>This function sets the base width and height which affects render targets with relative (in percent) size specification.&nbsp; Changing the base size is usually desired after engine initialization and when the window is being resized.&nbsp; Note that in case several cameras use the same pipeline resource instance, the change will affect all cameras.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pipeRes</td><td class=CDLDescription>the pipeline resource instance to be changed</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>base width in pixels used for render targets with relative size</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>base height in pixels used for render targets with relative size</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetRenderTargetData"></a>h3dGetRenderTargetData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dGetRenderTargetData(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>pipelineRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>targetName,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>bufIndex,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>compCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dataBuffer,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>bufferSize</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads back the pixel data of a render target buffer.</p><h4 class=CHeading>Details</h4><p>This function reads back the pixels of a specified render target.&nbsp; If no pipeline resource is specified, the color data of the backbuffer is read back as RGBA float.&nbsp; Otherwise, the specified buffer of the specified render target is read back and stored in dataBuffer as RGBA float values.&nbsp; To compute the required size of the output buffer to which the data is written, the function can be called with a NULL pointer for dataBuffer and pointers to variables where the buffer width, height and the number of components will be stored.&nbsp; As this function has a considerable performance overhead, it is only intended for debugging purposes and screenshots.&nbsp; For more information about the render buffers, refer to the Pipeline documentation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pipelineRes</td><td class=CDLDescription>handle to pipeline resource (0 for backbuffer)</td></tr><tr><td class=CDLEntry>targetName</td><td class=CDLDescription>name of render target to be accessed (ignored for backbuffer)</td></tr><tr><td class=CDLEntry>bufIndex</td><td class=CDLDescription>index of buffer to be accessed (32 for depth buffer)</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>pointer to variable where the width of the buffer will be stored (can be NULL)</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>pointer to variable where the height of the buffer will be stored (can be NULL)</td></tr><tr><td class=CDLEntry>compCount</td><td class=CDLDescription>pointer to variable where the number of components will be stored (can be NULL)</td></tr><tr><td class=CDLEntry>dataBuffer</td><td class=CDLDescription>pointer to array where the pixel data will be stored (can be NULL)</td></tr><tr><td class=CDLEntry>bufferSize</td><td class=CDLDescription>size of dataBuffer array in bytes</td></tr></table><h4 class=CHeading>Returns</h4><p>true if specified render target could be found, otherwise false</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="General_scene_graph_functions"></a>General scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeType"></a>h3dGetNodeType</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetNodeType(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the type of a scene node.</p><h4 class=CHeading>Details</h4><p>This function returns the type of a specified scene node.&nbsp; If the node handle is invalid, the function returns the node type &lsquo;Unknown&rsquo;.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the scene node</td></tr></table><h4 class=CHeading>Returns</h4><p>type of the scene node</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeParent"></a>h3dGetNodeParent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dGetNodeParent(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the parent of a scene node.</p><h4 class=CHeading>Details</h4><p>This function returns the handle to the parent node of a specified scene node.&nbsp; If the specified node handle is invalid or the root node, 0 is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the scene node</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to parent node or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeParent"></a>h3dSetNodeParent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetNodeParent(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>parent</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Relocates a node in the scene graph.</p><h4 class=CHeading>Details</h4><p>This function relocates a scene node.&nbsp; It detaches the node from its current parent and attaches it to the specified new parent node.&nbsp; If the attachment to the new parent is not possible, the function returns false.&nbsp; Relocation is not possible for the H3DRootNode.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the scene node to be relocated</td></tr><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to the new parent node</td></tr></table><h4 class=CHeading>Returns</h4><p>true if node could be relocated, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeChild"></a>h3dGetNodeChild</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dGetNodeChild(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the handle to a child node.</p><h4 class=CHeading>Details</h4><p>This function looks for the n-th (index) child node of a specified node and returns its handle.&nbsp; If the child doesn&rsquo;t exist, the function returns 0.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the parent node</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of the child node</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the child node or 0 if child doesn&rsquo;t exist</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddNodes"></a>h3dAddNodes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddNodes(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>sceneGraphRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds nodes from a SceneGraph resource to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates several new nodes as described in a SceneGraph resource and attaches them to a specified parent node.&nbsp; If an invalid scenegraph resource is specified or the scenegraph resource is unloaded, the function returns 0.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the root of the new nodes will be attached</td></tr><tr><td class=CDLEntry>sceneGraphRes</td><td class=CDLDescription>handle to loaded SceneGraph resource</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the root of the created nodes or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dRemoveNode"></a>h3dRemoveNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dRemoveNode(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes a node from the scene.</p><h4 class=CHeading>Details</h4><p>This function removes the specified node and all of it&rsquo;s children from the scene.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be removed</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCheckNodeTransFlag"></a>h3dCheckNodeTransFlag</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dCheckNodeTransFlag(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>reset</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if a scene node has been transformed by the engine.</p><h4 class=CHeading>Details</h4><p>This function checks if a scene node has been transformed by the engine since the last time the transformation flag was reset.&nbsp; Therefore, it stores a flag that is set to true when a setTransformation function is called explicitely by the application or when the node transformation has been updated by the animation system.&nbsp; The function also makes it possible to reset the transformation flag.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be accessed</td></tr><tr><td class=CDLEntry>reset</td><td class=CDLDescription>flag indicating whether transformation flag shall be reset</td></tr></table><h4 class=CHeading>Returns</h4><p>true if node has been transformed, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeTransform"></a>h3dGetNodeTransform</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetNodeTransform(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ty,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>rx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ry,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>rz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>sy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>sz</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the relative transformation of a node.</p><h4 class=CHeading>Details</h4><p>This function gets the translation, rotation and scale of a specified scene node object.&nbsp; The coordinates are in local space and contain the transformation of the node relative to its parent.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node which will be accessed</td></tr><tr><td class=CDLEntry>tx, ty, tz</td><td class=CDLDescription>pointers to variables where translation of the node will be stored (can be NULL)</td></tr><tr><td class=CDLEntry>rx, ry, rz</td><td class=CDLDescription>pointers to variables where rotation of the node in Euler angles will be stored (can be NULL)</td></tr><tr><td class=CDLEntry>sx, sy, sz</td><td class=CDLDescription>pointers to variables where scale of the node will be stored (can be NULL)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeTransform"></a>h3dSetNodeTransform</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeTransform(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>tx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>ty,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>tz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>rx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>ry,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>rz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>sy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>sz</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the relative transformation of a node.</p><h4 class=CHeading>Details</h4><p>This function sets the relative translation, rotation and scale of a specified scene node object.&nbsp; The coordinates are in local space and contain the transformation of the node relative to its parent.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node which will be modified</td></tr><tr><td class=CDLEntry>tx, ty, tz</td><td class=CDLDescription>translation of the node</td></tr><tr><td class=CDLEntry>rx, ry, rz</td><td class=CDLDescription>rotation of the node in Euler angles</td></tr><tr><td class=CDLEntry>sx, sy, sz</td><td class=CDLDescription>scale of the node</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeTransMats"></a>h3dGetNodeTransMats</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetNodeTransMats(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>relMat,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>absMat</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the transformation matrices of a node.</p><h4 class=CHeading>Details</h4><p>This function stores a pointer to the relative and absolute transformation matrices of the specified node in the specified pointer varaibles.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the scene node to be accessed</td></tr><tr><td class=CDLEntry>relMat</td><td class=CDLDescription>pointer to a variable where the address of the relative transformation matrix will be stored (can be NULL if matrix is not required)</td></tr><tr><td class=CDLEntry>absMat</td><td class=CDLDescription>pointer to a variable where the address of the absolute transformation matrix will be stored (can be NULL if matrix is not required)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeTransMat"></a>h3dSetNodeTransMat</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeTransMat(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>mat4x4</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the relative transformation matrix of a node.</p><h4 class=CHeading>Details</h4><p>This function sets the relative transformation matrix of the specified scene node.&nbsp; It is basically the same as setNodeTransform but takes directly a matrix instead of individual transformation parameters.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node which will be modified</td></tr><tr><td class=CDLEntry>mat4x4</td><td class=CDLDescription>pointer to a 4x4 matrix in column major order</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeParamI"></a>h3dGetNodeParamI</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetNodeParamI(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a property of a scene node.</p><h4 class=CHeading>Details</h4><p>This function returns a specified property of the specified node.&nbsp; The property must be of the type int or H3DRes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be accessed</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>value of the parameter</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeParamI"></a>h3dSetNodeParamI</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeParamI(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a property of a scene node.</p><h4 class=CHeading>Details</h4><p>This function sets a specified property of the specified node to a specified value.&nbsp; The property must be of the type int or H3DRes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be modified</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be modified</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>new value for the specified parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeParamF"></a>h3dGetNodeParamF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetNodeParamF(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a property of a scene node.</p><h4 class=CHeading>Details</h4><p>This function returns a specified property of the specified node.&nbsp; Float properties can have several indexed components, for example the x, y and z components of a vector.&nbsp; The property must be of the type float.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be accessed</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be accessed</td></tr><tr><td class=CDLEntry>compIdx</td><td class=CDLDescription>component of the parameter to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>value of the parameter</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeParamF"></a>h3dSetNodeParamF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeParamF(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a property of a scene node.</p><h4 class=CHeading>Details</h4><p>This function sets a specified property of the specified node to a specified value.&nbsp; The property must be of the type float.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be modified</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be modified</td></tr><tr><td class=CDLEntry>compIdx</td><td class=CDLDescription>component of the parameter to be modified</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>new value for the specified parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeParamStr"></a>h3dGetNodeParamStr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetNodeParamStr(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a property of a scene node.</p><h4 class=CHeading>Details</h4><p>This function returns a specified property of the specified node.&nbsp; The property must be of the type string (const char *).</p><p><b>Important Note: The pointer is const and allows only read access to the data.&nbsp; Do never try to modify the data of the pointer since that can corrupt the engine&rsquo;s internal states!</b></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be accessed</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>value of the property or empty string if no such property exists</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeParamStr"></a>h3dSetNodeParamStr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeParamStr(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets a property of a scene node.</p><h4 class=CHeading>Details</h4><p>This function sets a specified property of the specified node to a specified value.&nbsp; The property must be of the type string (const char *).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be modified</td></tr><tr><td class=CDLEntry>param</td><td class=CDLDescription>parameter to be modified</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>new value for the specified parameter</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeFlags"></a>h3dGetNodeFlags</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetNodeFlags(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the scene node flags.</p><h4 class=CHeading>Details</h4><p>This function returns a bit mask containing the set scene node flags.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be accessed</td></tr></table><h4 class=CHeading>Returns</h4><p>flag bitmask</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeFlags"></a>h3dSetNodeFlags</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeFlags(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>recursive</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the scene node flags.</p><h4 class=CHeading>Details</h4><p>This function sets the flags of the specified scene node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node to be modified</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>new flag bitmask</td></tr><tr><td class=CDLEntry>recursive</td><td class=CDLDescription>specifies whether flags should be applied recursively to all child nodes</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeAABB"></a>h3dGetNodeAABB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetNodeAABB(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>minX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>minY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>minZ,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>maxX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>maxY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>maxZ</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the bounding box of a scene node.</p><h4 class=CHeading>Details</h4><p>This function stores the world coordinates of the axis aligned bounding box of a specified node in the specified variables.&nbsp; The bounding box is represented using the minimum and maximum coordinates on all three axes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle to the node which will be accessed</td></tr><tr><td class=CDLEntry>minX, minY, minZ</td><td class=CDLDescription>pointers to variables where minimum coordinates will be stored</td></tr><tr><td class=CDLEntry>maxX, maxY, maxZ</td><td class=CDLDescription>pointers to variables where maximum coordinates will be stored</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dFindNodes"></a>h3dFindNodes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dFindNodes(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>startNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Finds scene nodes with the specified properties.</p><h4 class=CHeading>Details</h4><p>This function loops recursively over all children of startNode and adds them to an internal list of results if they match the specified name and type.&nbsp; The result list is cleared each time this function is called.&nbsp; The function returns the number of nodes which were found and added to the list.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>startNode</td><td class=CDLDescription>handle to the node where the search begins</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of nodes to be searched (empty string for all nodes)</td></tr><tr><td class=CDLEntry>type</td><td class=CDLDescription>type of nodes to be searched (H3DNodeTypes::Undefined for all types)</td></tr></table><h4 class=CHeading>Returns</h4><p>number of search results</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetNodeFindResult"></a>h3dGetNodeFindResult</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dGetNodeFindResult(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a result from the findNodes query.</p><h4 class=CHeading>Details</h4><p>This function returns the n-th (index) result of a previous findNodes query.&nbsp; The result is the handle to a scene node with the poperties specified at the findNodes query.&nbsp; If the index doesn&rsquo;t exist in the result list the function returns 0.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of search result</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to scene node from findNodes query or 0 if result doesn&rsquo;t exist</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetNodeUniforms"></a>h3dSetNodeUniforms</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeUniforms(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>uniformData,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>count</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets per-instance uniform data for a node.</p><h4 class=CHeading>Details</h4><p>This function sets the custom per-instance uniform data for a node that can be accessed from within a shader.&nbsp; The specified number of floats is copied from the specified memory location.&nbsp; Currently only Model nodes will store this data.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>node for which data will be set</td></tr><tr><td class=CDLEntry>uniformData</td><td class=CDLDescription>pointer to float array</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of floats to be copied</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCastRay"></a>h3dCastRay</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dCastRay(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>ox,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>oy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>oz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>dy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>dz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>numNearest</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Performs a recursive ray collision query.</p><h4 class=CHeading>Details</h4><p>This function checks recursively if the specified ray intersects the specified node or one of its children.&nbsp; The function finds intersections relative to the ray origin and returns the number of intersecting scene nodes.&nbsp; The ray is a line segment and is specified by a starting point (the origin) and a finite direction vector which also defines its length.&nbsp; Currently this function is limited to returning intersections with Meshes.&nbsp; For Meshes, the base LOD (LOD0) is always used for performing the ray-triangle intersection tests.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>node at which intersection check is beginning</td></tr><tr><td class=CDLEntry>ox, oy, oz</td><td class=CDLDescription>ray origin</td></tr><tr><td class=CDLEntry>dx, dy, dz</td><td class=CDLDescription>ray direction vector also specifying ray length</td></tr><tr><td class=CDLEntry>numNearest</td><td class=CDLDescription>maximum number of intersection points to be stored (0 for all)</td></tr></table><h4 class=CHeading>Returns</h4><p>number of intersections</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetCastRayResult"></a>h3dGetCastRayResult</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dGetCastRayResult(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>distance,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>intersection</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns a result of a previous castRay query.</p><h4 class=CHeading>Details</h4><p>This functions is used to access the results of a previous castRay query.&nbsp; The index is used to access a specific result.&nbsp; The intersection data is copied to the specified variables.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of result to be accessed (range: 0 to number of results returned by castRay)</td></tr><tr><td class=CDLEntry>node</td><td class=CDLDescription>handle of intersected node</td></tr><tr><td class=CDLEntry>distance</td><td class=CDLDescription>distance from ray origin to intersection point</td></tr><tr><td class=CDLEntry>intersection</td><td class=CDLDescription>coordinates of intersection point (float[3] array)</td></tr></table><h4 class=CHeading>Returns</h4><p>true if index was valid and data could be copied, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dCheckNodeVisibility"></a>h3dCheckNodeVisibility</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dCheckNodeVisibility(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>checkOcclusion,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>calcLod</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if a node is visible.</p><h4 class=CHeading>Details</h4><p>This function checks if a specified node is visible from the perspective of a specified camera.&nbsp; The function always checks if the node is in the camera&rsquo;s frustum.&nbsp; If checkOcclusion is true, the function will take into account the occlusion culling information from the previous frame (if occlusion culling is disabled the flag is ignored).&nbsp; The flag calcLod determines whether the detail level for the node should be returned in case it is visible.&nbsp; The function returns -1 if the node is not visible, otherwise 0 (base LOD level) or the computed LOD level.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>node</td><td class=CDLDescription>node to be checked for visibility</td></tr><tr><td class=CDLEntry>cameraNode</td><td class=CDLDescription>camera node from which the visibility test is done</td></tr><tr><td class=CDLEntry>checkOcclusion</td><td class=CDLDescription>specifies if occlusion info from previous frame should be taken into account</td></tr><tr><td class=CDLEntry>calcLod</td><td class=CDLDescription>specifies if LOD level should be computed</td></tr></table><h4 class=CHeading>Returns</h4><p>computed LOD level or -1 if node is not visible</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Group-specific_scene_graph_functions"></a>Group-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddGroupNode"></a>h3dAddGroupNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddGroupNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Group node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Group node and attaches it to the specified parent node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Model-specific_scene_graph_functions"></a>Model-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddModelNode"></a>h3dAddModelNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddModelNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>geometryRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Model node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Model node and attaches it to the specified parent node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>geometryRes</td><td class=CDLDescription>Geometry resource used by Model node</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetupModelAnimStage"></a>h3dSetupModelAnimStage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetupModelAnimStage(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>stage,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>animationRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>layer,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>startNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>additive</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Configures an animation stage of a Model node.</p><h4 class=CHeading>Details</h4><p>This function is used to setup the specified animation stage/slot of the specified Model node.</p><p>The function can be used for animation blending and mixing.&nbsp; There is a fixed number of stages (by default 16) on which different animations can be played.&nbsp; The start node determines the first node (Joint or Mesh) to which the animation is recursively applied.&nbsp; If the start node is an empty string, the animation affects all animatable nodes (Joints and Meshes) of the model.&nbsp; If a NULL-handle is used for animationRes, the stage is cleared and the currently set animation is removed.</p><p>The layer determines the priority of the animation and how the weights are distributed.&nbsp; See h3dSetModelAnimParams for more information.</p><p>A simple way to do animation mixing is using additive animations.&nbsp; If a stage is configured to be additive, the engine calculates the difference between the current frame and the first frame in the animation and adds this delta, scaled by the weight factor, to the current transformation of the joints or meshes.&nbsp; Additive animations completely ignore the layer settings.&nbsp; They are only applied by the engine if a non-additive animation is assigned to the model as well.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>modelNode</td><td class=CDLDescription>handle to the Model node to be modified</td></tr><tr><td class=CDLEntry>stage</td><td class=CDLDescription>index of the animation stage to be configured</td></tr><tr><td class=CDLEntry>animationRes</td><td class=CDLDescription>handle to Animation resource (can be 0)</td></tr><tr><td class=CDLEntry>layer</td><td class=CDLDescription>layer id</td></tr><tr><td class=CDLEntry>startNode</td><td class=CDLDescription>name of first node to which animation shall be applied (or empty string)</td></tr><tr><td class=CDLEntry>additive</td><td class=CDLDescription>flag indicating whether stage is additive</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetModelAnimParams"></a>h3dGetModelAnimParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetModelAnimParams(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>stage,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>time,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the animation stage parameters of a Model node.</p><h4 class=CHeading>Details</h4><p>This function gets the current animation time and weight for a specified stage of the specified model.&nbsp; The time corresponds to the frames of the animation and the animation is looped if the time is higher than the maximum number of frames in the Animation resource.&nbsp; The weight is used for animation blending and determines how much influence the stage has compared to the other active stages.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>modelNode</td><td class=CDLDescription>handle to the Model node to be accessed</td></tr><tr><td class=CDLEntry>stage</td><td class=CDLDescription>index of the animation stage to be accessed</td></tr><tr><td class=CDLEntry>time</td><td class=CDLDescription>pointer to variable where the time of the animation stage will be stored (can be NULL if not required)</td></tr><tr><td class=CDLEntry>weight</td><td class=CDLDescription>pointer to variable where the blend weight of the animation stage will be stored (can be NULL if not required)</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetModelAnimParams"></a>h3dSetModelAnimParams</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetModelAnimParams(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>stage,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>time,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the animation stage parameters of a Model node.</p><h4 class=CHeading>Details</h4><p>This function sets the current animation time and weight for a specified stage of the specified model.&nbsp; The time corresponds to the frames of the animation and the animation is looped if the time is higher than the maximum number of frames in the Animation resource.&nbsp; The weight is used for animation blending and determines how much influence the stage has compared to the other active stages.&nbsp; All weights of stages that are on the same layer are normalized.&nbsp; Stages with a higher layer id are animated before stages with lower layers.&nbsp; The blend weight is distributed across the layers.&nbsp; If the weight sum of a layer is smaller than 1.0, the remaining weight is propagated to the next lower layer.&nbsp; So if a layer uses a weight of 100%, the lower layers will not get any weight and consequently not contribute to the overall animation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>modelNode</td><td class=CDLDescription>handle to the Model node to be modified</td></tr><tr><td class=CDLEntry>stage</td><td class=CDLDescription>index of the animation stage to be modified</td></tr><tr><td class=CDLEntry>time</td><td class=CDLDescription>new animation time/frame</td></tr><tr><td class=CDLEntry>weight</td><td class=CDLDescription>new blend weight</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetModelMorpher"></a>h3dSetModelMorpher</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetModelMorpher(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>target,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the weight of a morph target.</p><h4 class=CHeading>Details</h4><p>This function sets the weight of a specified morph target.&nbsp; If the target parameter is an empty string the weight of all morph targets in the specified Model node is modified.&nbsp; If the specified morph target is not found the function returns false.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>modelNode</td><td class=CDLDescription>handle to the Model node to be modified</td></tr><tr><td class=CDLEntry>target</td><td class=CDLDescription>name of morph target</td></tr><tr><td class=CDLEntry>weight</td><td class=CDLDescription>new weight for morph target</td></tr></table><h4 class=CHeading>Returns</h4><p>true if morph target was found, otherwise false</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dUpdateModel"></a>h3dUpdateModel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUpdateModel(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies animation and/or geometry updates.</p><h4 class=CHeading>Details</h4><p>This function applies skeletal animation and geometry updates to the specified model, depending on the specified update flags.&nbsp; Geometry updates include morph targets and software skinning if enabled.&nbsp; If the animation or morpher parameters did not change, the function returns immediately.&nbsp; This function has to be called so that changed animation or morpher parameters will take effect.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>modelNode</td><td class=CDLDescription>handle to the Model node to be updated</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>combination of H3DModelUpdate flags</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Mesh-specific_scene_graph_functions"></a>Mesh-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddMeshNode"></a>h3dAddMeshNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddMeshNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>batchStart,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>batchCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>vertRStart,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>vertREnd</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Mesh node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Mesh node and attaches it to the specified parent node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>material resource used by Mesh node</td></tr><tr><td class=CDLEntry>batchStart</td><td class=CDLDescription>first triangle index of mesh in Geometry resource of parent Model node</td></tr><tr><td class=CDLEntry>batchCount</td><td class=CDLDescription>number of triangle indices used for drawing mesh</td></tr><tr><td class=CDLEntry>vertRStart</td><td class=CDLDescription>first vertex in Geometry resource of parent Model node</td></tr><tr><td class=CDLEntry>vertREnd</td><td class=CDLDescription>last vertex in Geometry resource of parent Model node</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Joint-specific_scene_graph_functions"></a>Joint-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddJointNode"></a>h3dAddJointNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddJointNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>jointIndex</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Joint node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Joint node and attaches it to the specified parent node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>jointIndex</td><td class=CDLDescription>index of joint in Geometry resource of parent Model node</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Light-specific_scene_graph_functions"></a>Light-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddLightNode"></a>h3dAddLightNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddLightNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>lightingContext,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>shadowContext</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Light node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Light node and attaches it to the specified parent node.&nbsp; The direction vector of the untransformed light node is pointing along the the negative z-axis.&nbsp; The specified material resource can define uniforms and projective textures.&nbsp; Furthermore it can contain a shader for doing lighting calculations if deferred shading is used.&nbsp; If no material is required the parameter can be zero.&nbsp; The context names define which shader contexts are used when rendering shadow maps or doing light calculations for forward rendering configurations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>material resource for light configuration or 0 if not used</td></tr><tr><td class=CDLEntry>lightingContext</td><td class=CDLDescription>name of the shader context used for doing light calculations</td></tr><tr><td class=CDLEntry>shadowContext</td><td class=CDLDescription>name of the shader context used for doing shadow map rendering</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Camera-specific_scene_graph_functions"></a>Camera-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddCameraNode"></a>h3dAddCameraNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddCameraNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>pipelineRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Camera node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Camera node and attaches it to the specified parent node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>pipelineRes</td><td class=CDLDescription>pipeline resource used for rendering</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetupCameraView"></a>h3dSetupCameraView</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetupCameraView(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>fov,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>aspect,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>nearDist,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>farDist</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the planes of a camera viewing frustum.</p><h4 class=CHeading>Details</h4><p>This function calculates the view frustum planes of the specified camera node using the specified view parameters.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cameraNode</td><td class=CDLDescription>handle to the Camera node which will be modified</td></tr><tr><td class=CDLEntry>fov</td><td class=CDLDescription>field of view (FOV) angle</td></tr><tr><td class=CDLEntry>aspect</td><td class=CDLDescription>aspect ratio</td></tr><tr><td class=CDLEntry>nearDist</td><td class=CDLDescription>distance of near clipping plane</td></tr><tr><td class=CDLEntry>farDist</td><td class=CDLDescription>distance of far clipping plane</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dGetCameraProjMat"></a>h3dGetCameraProjMat</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetCameraProjMat(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>projMat</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the camera projection matrix.</p><h4 class=CHeading>Details</h4><p>This function gets the camera projection matrix used for bringing the geometry to screen space and copies it to the specified array.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cameraNode</td><td class=CDLDescription>handle to Camera node</td></tr><tr><td class=CDLEntry>projMat</td><td class=CDLDescription>pointer to float array with 16 elements</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dSetCameraProjMat"></a>h3dSetCameraProjMat</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetCameraProjMat(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>projMat</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the camera projection matrix.</p><p>Details : This function sets the camera projection matrix used for bringing the geometry to screen space.</p><p>Parameters : cameraNode - handle to Camera node projMat - pointer to float array with 16 elements</p><p>Returns : nothing</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Emitter-specific_scene_graph_functions"></a>Emitter-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddEmitterNode"></a>h3dAddEmitterNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddEmitterNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>particleEffectRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>maxParticleCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>respawnCount</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Emitter node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Emitter node and attaches it to the specified parent node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>handle to Material resource used for rendering</td></tr><tr><td class=CDLEntry>particleEffectRes</td><td class=CDLDescription>handle to ParticleEffect resource used for configuring particle properties</td></tr><tr><td class=CDLEntry>maxParticleCount</td><td class=CDLDescription>maximal number of particles living at the same time</td></tr><tr><td class=CDLEntry>respawnCount</td><td class=CDLDescription>number of times a single particle is recreated after dying (-1 for infinite)</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dUpdateEmitter"></a>h3dUpdateEmitter</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUpdateEmitter(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>emitterNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>timeDelta</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Advances emitter time and performs particle simulation.</p><h4 class=CHeading>Details</h4><p>This function advances the simulation time of a particle system and performs the particle simulation with timeDelta being the time elapsed since the last call of this function.&nbsp; The specified node must be an Emitter node.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>emitterNode</td><td class=CDLDescription>handle to the Emitter node which will be updated</td></tr><tr><td class=CDLEntry>timeDelta</td><td class=CDLDescription>time delta in seconds</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dHasEmitterFinished"></a>h3dHasEmitterFinished</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dHasEmitterFinished(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>emitterNode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if an Emitter node is still alive.</p><h4 class=CHeading>Details</h4><p>This function checks if a particle system is still active and has living particles or will spawn new particles.&nbsp; The specified node must be an Emitter node.&nbsp; The function can be used to check when a not infinitely running emitter for an effect like an explosion can be removed from the scene.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>emitterNode</td><td class=CDLDescription>handle to the Emitter node which is checked</td></tr></table><h4 class=CHeading>Returns</h4><p>true if Emitter will no more emit any particles, otherwise or in case of failure false</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Compute-specific_scene_graph_functions"></a>Compute-specific scene graph functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="h3dAddComputeNode"></a>h3dAddComputeNode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddComputeNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>compBufferRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>drawType,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elementsCount</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a Compute node to the scene.</p><h4 class=CHeading>Details</h4><p>This function creates a new Compute node and attaches it to the specified parent node.&nbsp; Compute node is used for drawing results of compute shader work.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>handle to parent node to which the new node will be attached</td></tr><tr><td class=CDLEntry>name</td><td class=CDLDescription>name of the node</td></tr><tr><td class=CDLEntry>materialRes</td><td class=CDLDescription>handle to Material resource used for rendering</td></tr><tr><td class=CDLEntry>compBufferRes</td><td class=CDLDescription>handle to ComputeBuffer resource that is used as vertex storage</td></tr><tr><td class=CDLEntry>drawType</td><td class=CDLDescription>specifies how to treat data in the compute buffer.&nbsp; 0 - Triangles, 1 - Lines, 2 - Points</td></tr><tr><td class=CDLEntry>elementsCount</td><td class=CDLDescription>number of elements that need to be drawn</td></tr></table><h4 class=CHeading>Returns</h4><p>handle to the created node or 0 in case of failure</p></div></div></div>

</div><!--Content-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL const char *h3dGetVersionString()</td></tr></table></blockquote>Returns the engine version string.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dCheckExtension(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>extensionName</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if an extension is part of the engine library.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL bool h3dGetError()</td></tr></table></blockquote>Checks if an error occured.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dInit(</td><td class="PTypePrefix  prettyprint " nowrap>H3DRenderDevice::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>deviceType</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Initializes the engine.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dRelease()</td></tr></table></blockquote>Releases the engine.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dCompute(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>context,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>groupX,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>groupY,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>groupZ</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Asynchronous processing of arbitrary data on GPU.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dRender(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Main rendering function.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dFinalizeFrame()</td></tr></table></blockquote>Marker for end of frame.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dClear()</td></tr></table></blockquote>Removes all resources and scene nodes.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetMessage(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>level,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>time</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the next message from the message queue.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetOption(</td><td class="PTypePrefix  prettyprint " nowrap>H3DOptions::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an option parameter of the engine.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetOption(</td><td class="PTypePrefix  prettyprint " nowrap>H3DOptions::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets an option parameter for the engine.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetStat(</td><td class="PTypePrefix  prettyprint " nowrap>H3DStats::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>reset</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a statistic value of the engine.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetDeviceCapabilities(</td><td class="PTypePrefix  prettyprint " nowrap>H3DDeviceCapabilities::</td><td class="PType  prettyprint " nowrap>List&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks whether GPU supports a certain feature.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dShowOverlays(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>verts,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>vertCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colR,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colG,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colB,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>colA,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Displays overlays on the screen.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dClearOverlays()</td></tr></table></blockquote>Removes all overlays.</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetResType(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the type of a resource.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetResName(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the name of a resource.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dGetNextResource(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>start</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the next resource of the specified type.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dFindResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Finds a resource and returns its handle.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dAddResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a resource.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dCloneResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>sourceRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Duplicates a resource.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dRemoveResource(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a resource.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dIsResLoaded(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if a resource is loaded.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dLoadResource(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Loads a resource.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUnloadResource(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Unloads a resource.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetResElemCount(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the number of elements in a resource.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dFindResElem(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Finds a resource element with the specified property value.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetResParamI(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets an integer property of a resource element.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetResParamI(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets an integer property of a resource element.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetResParamF(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a float property of a resource element.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetResParamF(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a float property of a resource element.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetResParamStr(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a string property of a resource element.</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetResParamStr(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a string property of a resource element.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void *h3dMapResStream(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>elemIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>stream,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>read,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>write</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Maps the stream of a resource element.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUnmapResStream(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>res</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Unmaps a previously mapped resource stream.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dQueryUnloadedResource(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns handle to an unloaded resource.</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">DLL void h3dReleaseUnusedResources()</td></tr></table></blockquote>Frees resources that are no longer used.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DRes h3dCreateTexture(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a Texture resource.</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetShaderPreambles(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>vertPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>fragPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>geomPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tessControlPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tessEvalPreamble,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>computePreamble</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets preambles of all Shader resources.</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetMaterialUniform(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>a,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>d</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a shader uniform of a Material resource.</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dResizePipelineBuffers(</td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>pipeRes,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>height</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the size of the render targets of a pipeline.</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dGetRenderTargetData(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>pipelineRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>targetName,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>bufIndex,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>compCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>dataBuffer,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>bufferSize</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads back the pixel data of a render target buffer.</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetNodeType(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the type of a scene node.</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dGetNodeParent(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the parent of a scene node.</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetNodeParent(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>parent</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Relocates a node in the scene graph.</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dGetNodeChild(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the handle to a child node.</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddNodes(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameter  prettyprint " nowrap>sceneGraphRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds nodes from a SceneGraph resource to the scene.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dRemoveNode(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a node from the scene.</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dCheckNodeTransFlag(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>reset</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if a scene node has been transformed by the engine.</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetNodeTransform(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ty,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>tz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>rx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ry,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>rz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>sy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>sz</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the relative transformation of a node.</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeTransform(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>tx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>ty,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>tz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>rx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>ry,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>rz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>sy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>sz</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the relative transformation of a node.</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetNodeTransMats(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>relMat,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>absMat</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the transformation matrices of a node.</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeTransMat(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>mat4x4</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the relative transformation matrix of a node.</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetNodeParamI(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a property of a scene node.</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeParamI(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a property of a scene node.</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL float h3dGetNodeParamF(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a property of a scene node.</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeParamF(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>compIdx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a property of a scene node.</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL const char *h3dGetNodeParamStr(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>param</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a property of a scene node.</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeParamStr(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>param,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>value</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets a property of a scene node.</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dGetNodeFlags(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the scene node flags.</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeFlags(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>recursive</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the scene node flags.</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetNodeAABB(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>minX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>minY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>minZ,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>maxX,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>maxY,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>maxZ</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the bounding box of a scene node.</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dFindNodes(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>startNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>type</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Finds scene nodes with the specified properties.</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dGetNodeFindResult(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a result from the findNodes query.</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetNodeUniforms(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>uniformData,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>count</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets per-instance uniform data for a node.</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dCastRay(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>ox,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>oy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>oz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>dy,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>dz,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>numNearest</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Performs a recursive ray collision query.</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dGetCastRayResult(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>distance,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>intersection</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns a result of a previous castRay query.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL int h3dCheckNodeVisibility(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>node,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>checkOcclusion,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameter  prettyprint " nowrap>calcLod</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if a node is visible.</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddGroupNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Group node to the scene.</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddModelNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>geometryRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Model node to the scene.</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetupModelAnimStage(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>stage,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>animationRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>layer,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>startNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>bool&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>additive</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Configures an animation stage of a Model node.</div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetModelAnimParams(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>stage,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>time,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the animation stage parameters of a Model node.</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetModelAnimParams(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>stage,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>time,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the animation stage parameters of a Model node.</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dSetModelMorpher(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>target,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>weight</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the weight of a morph target.</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUpdateModel(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>modelNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>flags</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies animation and/or geometry updates.</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddMeshNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>batchStart,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>batchCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>vertRStart,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>vertREnd</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Mesh node to the scene.</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddJointNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>jointIndex</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Joint node to the scene.</div></div><div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddLightNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>lightingContext,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>shadowContext</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Light node to the scene.</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddCameraNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>pipelineRes</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Camera node to the scene.</div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetupCameraView(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>fov,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>aspect,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>nearDist,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>farDist</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the planes of a camera viewing frustum.</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dGetCameraProjMat(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>projMat</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the camera projection matrix.</div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dSetCameraProjMat(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>cameraNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>projMat</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the camera projection matrix.</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddEmitterNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>particleEffectRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>maxParticleCount,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>respawnCount</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Emitter node to the scene.</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL void h3dUpdateEmitter(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>emitterNode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>float&nbsp;</td><td class="PParameter  prettyprint " nowrap>timeDelta</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Advances emitter time and performs particle simulation.</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL bool h3dHasEmitterFinished(</td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameter  prettyprint " nowrap>emitterNode</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if an Emitter node is still alive.</div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>DLL H3DNode h3dAddComputeNode(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DNode&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>parent,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>name,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>materialRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>H3DRes&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>compBufferRes,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>drawType,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>elementsCount</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a Compute node to the scene.</div></div><!--END_ND_TOOLTIPS-->

<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
